将照片发布到页面时出现意外错误

时间:2012-05-04 23:17:42

标签: java facebook facebook-graph-api restfb

我正在尝试使用以下内容将照片发布到页面:

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_pagesphoto_uploadpublish_actionspublish_stream权限。

我在这里做错了什么?

更新

如果我使用"/{album id}/photos"发布到预定的相册,那么它就可以了。引用this Facebook developer blog post

  

https://graph.facebook.com/USER_ID/photos - 照片将是   发布到为您的应用创建的相册。我们自动创建一个   适用于您应用的相册(如果尚不存在)。所有照片上传   这种方式将被添加到同一张专辑中。

对于页面,这种行为是否已被破坏?或者我在这里误解了什么?

更新2:

我为此问题找到了bug report,所以我将其作为答案发布。

更新3:

该错误似乎已经解决。

1 个答案:

答案 0 :(得分:3)

我发现Facebook错误报告对应于此行为:

http://developers.facebook.com/bugs/355536551171535

所以看起来我没有做错任何事。我想临时解决方法是检查预定的专辑并在必要时创建它,然后发布到它。 (请注意,此解决方法不需要user_photos权限,因为网页上的相册/照片始终是公开的。