0

Я загрузил фотографию в Facebook страницу альбома с помощью следующей URLFacebook Фото Загрузить на странице альбома

<form id ="uploadForm" method="post" enctype="multipart/form-data"> 
     <h4>UPLOAD PHOTO</h4> 

     <fieldset> 
     <input id="name" type="text" /> 
     </fieldset> 
     <fieldset> 
     <textarea id="photoDtls"></textarea> 
     </fieldset> 
     <fieldset> 
     <input name ="source" type="file" /> 
     </fieldset> 
     <input type="submit"> 
     </form> 

И я использую следующий JavaScript SDk код

FB.getLoginStatus(function(response) { 
      if (response.status === 'connected') { 
       accessToken = response.authResponse.accessToken; 
        $('#uploadForm').attr('action','https://graph.facebook.com/photos/*page_album_id*?access_token='+accessToken); 
       }); 
      } else if (response.status === 'not_authorized') { 
       alert('not autherized'); 
       FB.login(function(response){ 
       alert('Permission granted');     
       },{scope: 'email,user_birthday,publish_stream,photo_upload'}); 
      } else { 
       alert('not logged in'); 
      // the user isn't logged in to Facebook. 
      } 
     }); 

Я получил ответ, когда я загрузил фото, но я не вижу, что фото загружено на мой альбом. Есть ли способ проверить фотографию, указав id или post id? Что здесь могло пойти не так?

{ 

    "id": "xxxxxxxxxxxxxxxxxxxxx", 
    "post_id": "xxxxxxxx_xxxxxxxxxxxxx" 

} 
+0

Что вы видите, когда посещаете id или post_id на facebook? Например, www.facebook.com/ - есть ли ваша фотография? – Jurik

+0

https://graph.facebook.com/_post-id_ дает мне '{ "ошибки": { "сообщение" : "запрос неподдерживаемому получить.", "типа": "GraphMethodException", "код": 100 } } ' –

+0

Вы используете этот пример: https://developers.facebook.com/blog/post/498/? У меня была аналогичная проблема, но я сделал это с php-cuz. Мне также нужно было сохранить изображение на сервере: http://stackoverflow.com/questions/7340949/is-it-possible-to-upload-a-photo- to-fanpage-album-without-publishing-it - есть имя изображения 'image', а не' source'. – Jurik

ответ

1

Чтобы загрузить фотографию на фан-страницу, вам нужно будет использовать токен fanpage, а не токен пользователя.

Чтобы получить этот токен, вам необходимо предоставить разрешение manage_pages - ничего больше. Затем вы получаете токен fanpage и сохраняете его где-то на своем сервере, потому что вам нужно будет загружать фотографии на ваш фан-сайт.

Это означает, что вы не можете сделать это с помощью javascript. Потому что тогда каждый увидит токен доступа к токену.

Итак, вам нужно будет отправить фотографию на свой веб-сервер, а затем загрузить ее в свой альбом fanpage.

+0

Вы правы. Но когда я использовал токен доступа к приложениям как access_token, я получаю сообщение об ошибке «Для запроса этого ресурса требуется токен доступа пользователя» Я попросил «scope:» email, user_birthday, publish_stream, photo_upload '} 'при подключении к приложению –

+1

Я обновил ответ. Позже, когда я дома, я тоже могу опубликовать пример - потому что у меня работает приложение на facebook как вкладка страницы, которое делает именно то, что вы хотите. Но это нарушено, потому что я изменил свой пароль, но не обновил токен доступа;) https://www.facebook.com/PowerPhotoUploader/app_300214813374674 – Jurik

+0

http://stackoverflow.com/questions/20490801/how-to -get-photos-uploaded-via-facebook-приложение у вас есть какие-либо идеи об этом? manage_pages позволяют пользователям администратора загружаться на свои страницы. –

Смежные вопросы