分享图片到Faceboook

时间:2019-04-09 20:06:20

标签: facebook facebook-graph-api facebook-javascript-sdk

我需要将图像分享到Facebook。为此,我正在尝试建议的API调用here

FB.login(function(response) {
    if (response.authResponse) {
      FB.api(
          "/{page-id}/photos",
          "POST",
          {
              "url": "https:\/\/www.facebook.com\/images\/fb_icon_325x325.png",
              "published": "false"
          },
          function (response) {
            if (response && !response.error) {
              console.log(JSON.stringify(response))
              /* handle the result */
            }
            else
            {
              console.log("ERROR: " + JSON.stringify(response))
            }
          }
      );
    } else {
     console.log('User cancelled login or did not fully authorize.');
    }
  });

但是我遇到错误(#803) Some of the aliases you requested do not exist: {page-id} 页面ID是否与authResponse中返回的用户ID相同?因为我也尝试对该ID进行硬编码,但是却收到了过时的API消息。

我需要允许用户将照片直接分享到其供稿。

谢谢

1 个答案:

答案 0 :(得分:0)

页面ID和用户ID不相同。授权后,您将获得一个用户ID,将/me/accounts端点与一个用户令牌一起使用,即可获得一个页面ID。您还可以使用/me/accounts?fields=access_token获取页面令牌。您需要使用具有publish_pages和manage_pages权限的页面令牌,才能在您管理的页面上创建帖子或照片。

正如WizKid所说,您也可以只使用/me/photos上传照片。只需使用页面令牌即可。

更多信息:https://developers.facebook.com/docs/facebook-login/access-tokens/