我需要将图像分享到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消息。
我需要允许用户将照片直接分享到其供稿。
谢谢
答案 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/