【发布时间】:2013-02-08 05:50:37
【问题描述】:
我的应用中有一个方法允许用户“喜欢”他/她的新闻提要中的帖子。它是通过使用HttpMethod.POST 的简单图形请求完成的。但是当我尝试使用HttpMethod.DELETE 执行“不同”操作时,我收到一个错误回调:
02-08 00:35:57.298: I/Detail(2628): {Response: responseCode: 403, graphObject: null, error:
{HttpStatus: 403, errorCode: 200, errorType: OAuthException, errorMessage: (#200)
Feed story publishing to other users is disabled for this application}, isFromCache:false}
现在我认为这与最近尝试使所有与 Facebook 集成的应用程序使用所有 Facebook 外观对话框和样式有关,但我可能错了。这是让我怀疑的roadmap post:
移除通过 Graph API 向朋友墙发帖的功能我们将 删除通过图表发布到用户朋友墙上的功能 API。具体来说,针对 [user_id]/feed 的帖子 [user_id] 是 不同于会话用户,或者 stream.publish 调用 target_id 用户与会话用户不同,会失败。如果你 想要允许人们发布到他们朋友的时间线,调用 饲料对话框。通过用户提及标签包含朋友的故事或 动作标记将显示在朋友的时间线上(假设 朋友批准标签)。有关详细信息,请参阅此博文。
关于我可能做错什么的任何想法,或者 Facebook 只是在毁了我?谢谢!
编辑:这是我用来运行请求的代码。
Request likeRequest = new Request(Utility.fbSession, null, null, null, new Request.Callback() {
@Override
public void onCompleted(Response response) {
String responseString = response.toString();
Log.i("Detail", responseString);
updateDetail();
}
});
HttpMethod nextLikeCall = HttpMethod.DELETE;
likeRequest.setHttpMethod(nextLikeCall);
likeRequest.setGraphPath(itemId+"/likes");
likeRequest.executeAsync();
【问题讨论】:
-
对我来说似乎工作得很好。除了,我使用的是较旧的 SDK V 2.x。我昨天在这里发布了一个关于喜欢和“不喜欢”cmets 的问题的答案:stackoverflow.com/a/14749927/450534。看看它是否适合你。您将不得不更改评论的特定部分,但帖子和 cmets 的代码是相同的。
-
根据错误代码,这似乎是权限问题,但我设置了 publish_stream 权限。
-
您是否在图形浏览器中尝试过您的确切请求? developers.facebook.com/tools/explorer你描述的场景应该可行。
-
我在图形浏览器中得到了相同的响应。 POST (like) 工作正常,但 DELETE (unlike) 给我错误。
-
@Wenger 你有想过这个吗?我有完全相同的问题。喜欢可以正常工作,但不喜欢会引发同样的错误。
标签: android facebook facebook-graph-api