2012-06-11 2 views
0

Я использую Facebook JavaScript SDK размещать фотографии в какой-то вентилятор page.Here Мой кодСообщение фото на facebook страницу Использование JavaScript и графика апи

<form enctype="multipart/form-data" method="post" action="https://graph.facebook.com/<page_id>/feed" target="ifram_name"> 
     <input name="source" type="file" style="font-size:13px;" /> 
     <input type="hidden" name="to" value="113342002047830"/> 
     <input type="hidden" name="access_token" value="user_accesstoken"/> 
     <input type="hidden" name="type" value="photo" /> 
</form> 

Он говорит: «отсутствует сообщение или вложение».

Я также попытался изменить «действие» на «https://graph.facebook.com//feed» , но затем фотография загружается в альбом пользователя.

Может ли кто-нибудь сказать, чего не хватает в моем коде?

+0

Ваш код не отформатирован. –

+0

вот ваш ответ http://stackoverflow.com/questions/4999024/facebook-graph-api-upload-photo-using-javascript – TheodoreV

+0

Я хочу опубликовать фотографию на стене какого-нибудь фан-сайта, а не на моем альбоме –

ответ

1

Вы должны использовать photos соединение user, page или album (а не feed) и поставить активную access_token для пользователя/страницы.

<form action="https://graph.facebook.com/PAGE_ID/photos" 
     method="post" enctype="multipart/form-data"> 
    <input name="source" type="file"> 
    <input type="hidden" name="to" value="113342002047830"/> 
    <input type="hidden" name="access_token" value="user_accesstoken"/> 
</form> 

Вы можете прочитать более подробную информацию в (год) в блоге How-To: Use the Graph API to Upload Photos to a user’s profile.

Пожалуйста, обратите внимание, что это загрузить файл, но приложение/код не будет уведомлен об этом и пользователь увидит ответ так:

{ 
    "id": "1001207389476" 
} 

Если это не желательно использовать серверных технологий для загрузить фото. Другой вариант заключается в использовании JS-SDK с url параметра:

FB.api('/PAGE_ID/photos', 'post', { 
    url: 'http://example.com/image.png', 
    message: 'Upload demo' 
}, function(response){ 
    if (response && response.id) 
    console.log('Photo uploaded', response.id); 
}); 

Обновление:
Пожалуйста, обратите внимание, что вы должны использовать страницу Профиль access_token, чтобы иметь возможность разместить на стене страницы, если вы предоставляете access_token пользователей фото будет быть загружен в альбом приложения пользователя вне зависимости от параметра to. См. Authenticating as a Page о деталях, как получить access_token для страницы.

+0

Мне нужно загрузить фотографии на «Страницы», а не в «Мой профиль» или «Мой профиль». –

+0

@MohdQasim, он ничем не отличается от того, что я опубликовал ... На самом деле, образцы кода, которые я предоставил, одинаковы для пользователей и страниц, просто замените «PAGE_ID» на нужный идентификатор страницы/пользователя. –

+0

У меня уже есть что «/ page_id/photos» помещает фотографию в альбом пользователя не на стене страницы (я не знаю почему) –

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