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

原文 标签 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"

目标访问 token 具有manage_pagesphoto_uploadpublish_actionspublish_stream权限等。

我在这里做错了什么?

更新:

如果我使用"/{album id}/photos"发布到预定的专辑,则可以使用。引用this Facebook developer blog post:

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

那么这种行为是否会破坏页面?还是我误会了这里的东西?

更新2:

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

更新3:

该错误似乎已解决。

最佳答案

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

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

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

关于java - 将照片发布到页面时出现意外错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10457292/

相关文章:

c# - .NET Facebook 游戏的推荐架构

facebook - 如何使用Graph API在Facebook POST.to属性中标记用户/页面?不涉及PHP或Javascript,仅包含纯HTTP POST请求

Facebook 应用请求不起作用

php - Facebook图形API通过分页循环

java - Java WSDL Web服务获取客户端证书

java - Java和Python中的数据结构及其实现:列表,数组,元组

java - gcj错误-找不到类java.util.function.Predicate的文件

facebook - 移动网站Facebook使用Facebook App登录以获取登录详细信息

java - createCell上的语法错误

facebook - 如何在facebook中获取页面访问 token