首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Facebook评论框插件

Facebook评论框插件
EN

Stack Overflow用户
提问于 2011-04-05 19:39:21
回答 3查看 1.9K关注 0票数 1

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

代码语言:javascript
运行
复制
<fb:comments href="${myPageUrl}" num_posts="20" width="630"></fb:comments>

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

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

代码语言:javascript
运行
复制
FB.Event.subscribe('comment.create', function(response) {        
        alert(response.commentID)
});

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-02-15 22:22:56

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

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

代码语言:javascript
运行
复制
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)
      });
});  

所以这个方法得到的结果和我想要的完全一样。

票数 2
EN

Stack Overflow用户

发布于 2012-02-10 14:50:01

我没有完整的答案,但这应该会带你上路。

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

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

你可以从这个地址获取帖子:http://graph.facebook.com/10150441190653416/posts

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

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

祝好运!

票数 1
EN

Stack Overflow用户

发布于 2012-11-07 16:24:10

代码语言:javascript
运行
复制
FB.Event.subscribe('comment.create', function(response) {
  var commentQuery = FB.Data.query('SELECT fromid, text FROM comment WHERE post_fbid=\'' + response.commentID + '\' AND object_id IN (SELECT comments_fbid FROM link_stat WHERE url=\'' + response.href + '\')');
  FB.Data.waitOn([commentQuery], function () {
    text = commentQuery.value[0].text;
    // Use your preferred way to inform the server to save comment
    $.post( 'http://example.com/comment', text )
  });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5551197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档