【问题标题】:Unexpected error when publishing photo to page将照片发布到页面时出现意外错误
【发布时间】:2012-05-14 11:56:37
【问题描述】:

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

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:

这个错误似乎已经解决了。

【问题讨论】:

  • constructor API,给DefaultFacebookClient添加一个参数accessToken。或者使用公共路径 (?)。
  • @JoopEggen - 我不确定你的意思 - 你能改写一下吗?如果需要,请作为答案发布。
  • new DefaultFacebookClient(getAccessToken()) 但恐怕你没有。你将不得不等待一个真正的答案。这是允许访问的会话相关超时。我不是真正的 Facebook 程序员。
  • @JoopEggen - 我什么都没有?您是说访问令牌已过期?
  • 您没有提供,因此收到了 OAuth 异常。我想知道为什么没有人比我回答的知识更丰富。

标签: java facebook facebook-graph-api restfb


【解决方案1】:

我找到了与此行为对应的 Facebook 错误报告:

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

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

【讨论】:

    猜你喜欢
    • 2011-11-30
    • 2012-01-30
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多