【问题标题】:A simple question about facebook comments plugin关于facebook评论插件的一个简单问题
【发布时间】:2011-07-19 11:10:27
【问题描述】:

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

我在我的网站上附加了一个 facebook cmets 插件。并且使用“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

它只是给了我“错误”。我可以使用以下方法检索附加到该页面的所有 cmets:

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

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

【问题讨论】:

  • 请编辑您的问题以提供更多信息。

标签: facebook graph comments


【解决方案1】:

我也面临同样的问题......所以我所做的是,我使用 fql 从 fb cmets 表中查询最后发布的评论或回复。在这里,我按时间降序对 cme​​ts 进行排序,然后选择最前面的一个。虽然有人可能认为如果同时发布两个 cmet,可能会导致歧义,但在我的情况下,我尝试并测试了它涉及超过 2 个用户,但我总是得到预期的结果。

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)
      }
    );
  });  

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 谢谢,Awais。它是使用commentID 检索评论数据的唯一方法吗?该文档说使用 post_fbuid(在“comment.create”上返回的commentID)进行查询是不可能的,因为它没有索引。你能给我看一个使用commentID的FQL示例吗?
    【解决方案3】:

    我也有同样的问题。似乎正在发生的事情是,commentID 和 parentCommentID 实际上只是返回该页面的唯一 ID,而不是评论本身的唯一 ID。

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

    我已经在 Facebook 上记录了一个错误,希望能得到修复!错误地址如下:

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

    【讨论】:

    • 感谢您的回复,@Darren。似乎没有简单的方法可以使用 FB.event.subscribe() 检索和保存您的评论。顺便说一句,我发现了一篇解释评论同步问题的博文:[link]loadedguntheory.com/blog/listpost/tim/…
    【解决方案4】:

    嗯。我可以通过 id 检索评论数据(id 格式如下:1234567890123456_12345678)。我从 url 中检索的 ID 如下: https://graph.facebook.com/comments?ids={$url}

    【讨论】:

      【解决方案5】:

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

      // 这个查询需要一个“commentID”和“href”。在comment.create "response" 对象上返回commentID

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

      var query = "SELECT text, fromid FROM comment WHERE post_fbid='"+addslashes(commentID)+"' AND (object_id in (select cmets_fbid from link_stat where url ='"+addslashes(href)+"') 或object_id in (select post_fbid from comment where object_id in (select cmets_fbid from link_stat where url ='"+addslashes(href)+"')))";

      【讨论】:

        猜你喜欢
        • 2019-03-16
        • 2012-11-29
        • 2013-06-06
        • 1970-01-01
        • 1970-01-01
        • 2012-10-11
        • 1970-01-01
        • 2011-09-28
        • 2012-04-09
        相关资源
        最近更新 更多