【发布时间】:2012-06-15 02:05:02
【问题描述】:
我正在创建一个显示从 Flickr 拍摄的图像列表的 Web 应用程序,我希望用户通过 Facebook 登录并允许他们对这些图像发表评论。我能够使登录/身份验证正常工作,但我现在无法让用户在 Flickr 图像上添加评论(与 Facebook 的“帖子”相反)并让此活动显示在用户的 Facebook 个人资料上/提要(即“John Smith 评论了一个链接”)。
这是我目前所拥有的:
var fbCommentApi = '/me/myappname_ns:comment?access_token=' + fbUserToken + '&method=post' + '&picture=[WEBSITE_URL]' + selectedItemId;
FB.api(
fbCommentApi,
'post',
{ message: txtObj.value },
function (response) {
if (!response || response.error) {
alert("Sorry, there was a problem. Please try again later. [API]");
}
else {
alert("Thank you. Your comment will appear shortly");
hideCommentBox(txtObj);
}
}
);
上面的代码不会创建评论,而是会在用户的时间轴上创建一个附有 URL 的帖子。因此,当我尝试通过 Facebook Graph 检索 WEBSITE_URL 项目的 cmets 时...
'https://graph.facebook.com/comments/?id=[WEBSITE_URL]' + itemID
...我最终返回了空数据。
我的 Facebook 应用中有一个名为“评论”的操作类型,这就是我在尝试添加评论时使用的操作。
提前致谢,期待您的回答。
更新 1: 现在看来,如果我以这种方式使用 Facebook Graph..graph.facebook.com/me/appname_ns:discuss?access_token=[TOKEN]&website=[URL]&method=post
..它只会在他们的时间线中向用户的活动框添加一个条目,我什至没有将评论或消息参数作为查询字符串参数传递给 URL。这可能是问题的一部分。
更新 2: 根据另一位 StackOverflow question 的说法,似乎无法查看 所有用户完成的所有操作 >,必须按用户完成(每个用户调用一次 API)。因此,另一种处理此特定问题的方法是将 cmets(或执行的任何操作)保存到我们自己的数据库中。
【问题讨论】:
标签: facebook facebook-graph-api