facebook graph api photo post 突然开始给予权限错误

facebook graph api photo post suddenly started giving permission error

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

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

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

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

确认您的应用具有 manage_pages 权限,方法是转到 https://graph.facebook.com/me/permissions?access_token=xxxxxx

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

我终于想出了解决办法。由于 facebook 图 api 最近发生的一些变化,spring 社交似乎存在问题。

如果我们将 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 社交中的一个错误,我用 spring 社交 2 罐子进行了测试,原因是 post 发生的最终 url 不是内部正确形成。

希望这可以帮助那些因post页面上的照片突然中断而苦苦挣扎的其他人

使用时 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")

谢谢,

保罗

error_subcode 当您尝试将 post 张照片添加到包含将近 1000 张照片(这是最大值)的相册时,也会出现 1366002。

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