一个关于facebook评论插件的简单问题

时间:2011-03-21 06:13:12

标签: facebook graph comments

我正在努力解决一个非常简单的问题。 Facebook文档一如既往,没有给我足够的解释。

我在我的网站上添加了一条facebook评论插件。并且使用“comment.create”事件的回调,我可以获得刚创建注释的信息。

FB.Event.subscribe('comment.create', function(response) {
    alert(JSON.stringify(response));
});

json响应看起来像:

{"href":"http://siteaddress.com/page.htm", "commentID":"111122223333" }

我现在要做的是使用commentID检索单个评论的数据。虽然我期望以下方式可行:

https://graph.facebook.com/111122223333
它只是给了我“假”。我可以使用以下方法检索附加到该页面的所有评论:

https://graph.facebook.com/comments?ids=http://siteaddress.com/page.htm

但是,检索刚使用commentID创建的单个评论数据的正确方法是什么?

5 个答案:

答案 0 :(得分:9)

我也遇到了同样的问题...所以我做的是,我查询了最后发表的评论或使用fql从fb评论表回复。在这里,我按时间按降序对评论进行排序,然后选择最顶层的评论。虽然有人可能认为如果同时发布两条评论,可能会引起歧义,但在我的情况下,我尝试并测试了它,但是我总是得到预期的结果。

FB.Event.subscribe('comment.create', function(response) {
    FB.api({
        method: 'fql.query',
        query: "select post_fbid, fromid, object_id, text, time from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX') or object_id in (select post_fbid from comment where object_id in (select comments_fbid from link_stat where url ='URL_OF_THE_COMMENT_BOX')) order by time desc limit 1"
      },
      function(response) {
        var feed = response[0];
        alert(feed.text)
      }
    );
  });  

答案 1 :(得分:0)

如果您有评论ID,那么为什么不使用FQL并查询Comment Table以获取所有评论相关数据?

答案 2 :(得分:0)

我遇到同样的问题。似乎正在发生的是,commentID和parentCommentID实际上只是返回该页面的唯一ID,而不是注释本身的唯一ID。

单个注释的唯一ID是页面的唯一ID(即,当前返回的值为“commentID”),下划线后跟另一个数字(在我已完成的测试中长度为8位) 。您可以直接从响应提供的图表中查找。

我已经在Facebook上记录了一个错误,希望能够解决这个问题!地址下面的错误:

http://bugs.developers.facebook.net/show_bug.cgi?id=16535

答案 3 :(得分:0)

嗯。我可以通过id(id格式,如:1234567890123456_12345678)来检索评论数据。我从这个网址中读取了这样的内容: https://graph.facebook.com/comments?ids= {$ url}的

答案 4 :(得分:0)

我结合了几种方法(包括来自Charsee)。

//此查询采用“commentID”和“href”。 commentID在comment.create“response”对象

上返回

//此代码需要一个转义函数“addslashes(str)”来处理单引号。

var query =“SELECT text,fromid FROM comment WHERE post_fbid ='”+ addslashes(commentID)+“'AND(object_id in(select link_fbid from link_stat where url ='”+ addslashes(href)+“')或者object_id in(从comment中选择post_fbid,其中object_id在(从link_stat中选择comments_fbid,其中url ='“+ addslashes(href)+”')))“;