我正在尝试使用以下内容将照片发布到页面:
FacebookClient client = new DefaultFacebookClient(destinationAccessToken);
BinaryAttachment attachment = BinaryAttachment.with(imageName, imageInputStream);
Photo photoResponse = client.publish("/me/photos", Photo.class, attachment);
我收到以下回复:
{
"error": {
"message":"An unexpected error has occurred. Please retry your request later.",
"type":"OAuthException",
"code":2
}
}
当我使用相同的代码发布到用户墙时,它可以正常工作。
我也尝试使用相同的结果发布到"/{page id}/photos"
。
目标访问令牌包含manage_pages
,photo_upload
,publish_actions
和publish_stream
权限。
我在这里做错了什么?
更新
如果我使用"/{album id}/photos"
发布到预定的相册,那么它就可以了。引用this Facebook developer blog post:
https://graph.facebook.com/USER_ID/photos
- 照片将是 发布到为您的应用创建的相册。我们自动创建一个 适用于您应用的相册(如果尚不存在)。所有照片上传 这种方式将被添加到同一张专辑中。
对于页面,这种行为是否已被破坏?或者我在这里误解了什么?
更新2:
我为此问题找到了bug report,所以我将其作为答案发布。
更新3:
该错误似乎已经解决。
答案 0 :(得分:3)
我发现Facebook错误报告对应于此行为:
http://developers.facebook.com/bugs/355536551171535
所以看起来我没有做错任何事。我想临时解决方法是检查预定的专辑并在必要时创建它,然后发布到它。 (请注意,此解决方法不需要user_photos
权限,因为网页上的相册/照片始终是公开的。