在URL上添加Facebook评论并将其显示在用户个人资料中

时间:2012-06-13 21:10:02

标签: facebook facebook-graph-api

我正在创建一个Web应用程序,显示从Flickr中获取的图像列表,我希望用户通过Facebook登录并允许他们对这些图像进行评论。我能够使登录/身份验证工作,但我现在无法让用户在Flickr图像上添加评论(与Facebook'帖子'相反),并将此活动显示在用户的Facebook个人资料/ feed(即“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项目的评论时......

'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]&met‌​hod=post .. ..只会在他们的时间轴中向用户的活动框添加一个条目,我甚至没有将注释或消息参数作为查询字符串参数传递给URL。这可能是问题的一部分。

更新2 :根据另一个StackOverflow question,似乎无法查看所有用户所有操作的视图< / em>,必须按用户完成(每个用户的API调用)。因此,处理此特定问题的另一种方法是将注释(或执行的任何操作)保存到我们自己的数据库中。

1 个答案:

答案 0 :(得分:0)

嗯,即使您将其命名为 comment ,Open Graph操作也不是注释...

如果你想要一个真正的Facebook评论,那么要么获得对实际可以评论的对象的引用;或用帖子/链接帖子替换评论。