【发布时间】: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_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:
这个错误似乎已经解决了。
【问题讨论】:
-
见constructor API,给DefaultFacebookClient添加一个参数accessToken。或者使用公共路径 (?)。
-
@JoopEggen - 我不确定你的意思 - 你能改写一下吗?如果需要,请作为答案发布。
-
new DefaultFacebookClient(getAccessToken())但恐怕你没有。你将不得不等待一个真正的答案。这是允许访问的会话相关超时。我不是真正的 Facebook 程序员。 -
@JoopEggen - 我什么都没有?您是说访问令牌已过期?
-
您没有提供,因此收到了 OAuth 异常。我想知道为什么没有人比我回答的知识更丰富。
标签: java facebook facebook-graph-api restfb