簡體   English   中英

使用javascript和graph API將照片發布到Facebook頁面

[英]Post photo to facebook page using javascript and graph api

我正在使用Facebook JavaScript sdk將照片發布到某些粉絲頁面上,這是我的代碼

<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”,但是照片隨后被上傳到用戶的相冊。

有人可以告訴我代碼中缺少什么嗎?

您應該使用userpagealbum (而非feed )的photos連接,並為用戶/頁面提供有效的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>

您可以在(已有很久的歷史)博客文章如何:使用Graph API將照片上傳到用戶的個人資料中閱讀更多詳細信息。

請注意,這將上傳文件,但是不會對此通知您的應用程序/代碼,用戶將看到如下響應:

{
   "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參數如何,用戶照片都會上傳到用戶的應用相冊中。 有關如何獲取頁面的access_token詳細信息,請參見頁面身份驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM