Facebook评论框插件

时间:2011-04-05 11:39:21

标签: facebook facebook-comments

我正在使用Facebook评论框插件:

<fb:comments href="${myPageUrl}" num_posts="20" width="630"></fb:comments>

每件事都很好。问题是我想将发布的评论存储到我的数据库中。有没有办法获取评论框上发布的文本。

我使用以下js来捕获comment-create事件。

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

我从中获得了一些commentId,但我不知道如何获取在特定comment-create事件上发布的确切评论。

2 个答案:

答案 0 :(得分:2)

Coomie:实际上,无论何时发布评论,我都会通过'comment.create'来捕捉事件。我能够抓住这个事件,但我想知道如何在该特定事件中发布评论(文本)。像event.text或event.comment,但没有找到直接的方法

所以,现在我用fql操作它。这有点类似于你的例子。首先检索整个列表,然后选择最上面的列表。 我的示例代码如下:

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 ='${PageUrl}') order by time desc limit 1"
      },
      function(response) {
        var feed = response[0];          
        alert(feed.text)
      });
});  

所以这个方法给了我完全相同的结果。

答案 1 :(得分:1)

我没有完整的答案,但这应该让你顺利。

您可以使用facebook图形api来提取有关开放图形ID的信息(开放图形ID是FB识别人员,网站,应用程序或URL的方式)。例如。这一页: http://www.inhousegroup.com.au/newsroom/23-best-practice-for-advanced-seo/(解雇我的地方) 使用评论框。该网页的开放ID为10150441190653416.因此,当您对此页面发表评论时,Facebook会将您的评论视为该页面上“墙”的墙贴。

使用图形api,您可以在此处获取有关该页面的一些JSON信息: HTTP:/graph.facebook.com/10150441190653416

您可以从此地址获取帖子: http://graph.facebook.com/10150441190653416/posts

但你必须得到一个访问令牌。

然后你只需要在保存时导入帖子并将你的数据库与JSON进行比较,并根据需要添加记录。

祝你好运!