0

我正在使用 facebook graph api 2.2 在 facebook 页面上发布照片。我也在使用spring social。该应用程序突然正常工作,几天前照片帖子开始出现错误,说带有照片的帖子权限错误。非照片帖子正确发布在页面上。

Facebook facebook = new FacebookTemplate(accessToken);
    Resource resource = null;
    resource = new FileSystemResource("xyz.jpg");   
    facebook.pageOperations().postPhoto(acId, "photos", resource, "TEST POST");

我从 facebook graph api 收到的错误是。

{"error":{"message":"Permissions error","type":"FacebookApiException","code":200,"error_subcode":1366002}}
4

4 回答 4

0

前往https://graph.facebook.com/me/permissions?access_token=xxxxxx确认您的应用具有 manage_pages 权限

您还可以使用 spring social => facebook.pageOperations().isPageAdmin("pageId") 确认您是页面的页面管理员

于 2015-01-28T22:50:54.447 回答
0

我终于找到了解决方案。由于 facebook graph api 最近发生了一些变化,spring social 似乎存在问题。

如果我们将 objectId 作为第一个参数并将照片作为第二个参数传递,则 pageoperations.postPhoto 方法将失败。

Facebook facebook = new FacebookTemplate(accessToken);
Resource resource = null;
resource = new FileSystemResource("xyz.jpg");   
facebook.pageOperations().postPhoto(acId, "photos", resource, "TEST POST");

我找到的解决方案是像这样修改上面的代码

    facebook.pageOperations().postPhoto(acId, acId, resource, "TEST POST");

这似乎是我用 spring social 2 jar 测试的 spring social 中的一个错误,原因是发生帖子的最终 url 在内部没有正确形成。

希望这可以帮助其他人在页面上发布照片时突然中断

于 2015-01-29T06:55:01.437 回答
0

在使用 facebook.pageOperations().postPhoto(acId,albumId, resource, "TEST POST");

第二个参数应该是专辑 ID。当我使用页面的专辑 ID 调用此方法时,它实际上可以工作。

我认为在您之前的代码中传递的是名称而不是专辑 ID。

Facebook facebook = new FacebookTemplate(accessToken);
Resource resource = null;
resource = new FileSystemResource("xyz.jpg"); 
facebook.pageOperations().postPhoto(acId, "photos", resource, "TEST POST")

谢谢,

保罗

于 2015-01-29T11:21:52.103 回答
0

当您尝试将照片发布到具有接近 1000 张照片(这是最大值)的相册时,error_subcode 1366002 也会出现。

您没有收到任何表明这一点的消息。

于 2017-04-10T16:25:46.487 回答