Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook评论框插件_Facebook_Facebook Comments - Fatal编程技术网

Facebook评论框插件

Facebook评论框插件,facebook,facebook-comments,Facebook,Facebook Comments,我正在使用Facebook评论框插件: <fb:comments href="${myPageUrl}" num_posts="20" width="630"></fb:comments> 我从中获得了一些commentId,但我不知道如何获取发布在特定comment create事件上的确切评论。我没有完整的答案,但这应该会让您上路 您可以使用facebook graph api提取有关开放图id的信息开放图id是FB识别个人、网站、应用程序或URL的方式。这一页:

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

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

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

我没有完整的答案,但这应该会让您上路

您可以使用facebook graph api提取有关开放图id的信息开放图id是FB识别个人、网站、应用程序或URL的方式。这一页: 解雇我的地方 使用注释框。该网页的开放id为1015044119653416。因此,当你在这个页面上发表评论时,facebook会将你的评论视为该页面墙上的一个帖子

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

您可以从以下地址获得帖子:

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

然后,您只需导入save上的帖子,将db与JSON进行比较,并根据需要添加记录


祝你好运

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)
      });
});  
所以这个方法给了我完全相同的结果

FB.Event.subscribe'comment.create',functionresponse{ var commentQuery=FB.Data.query'SELECT fromid,text FROM comment其中post\u fbid=\+response.commentID+'\'和object\u id在SELECT comments\u fbid FROM link\u stat中url=\+response.href+'\'; FB.Data.waitOn[commentQuery],函数{ text=commentQuery.value[0]。text; //使用您喜欢的方式通知服务器保存评论 $邮政’http://example.com/comment",文本 }; };
是的,我已经解决了。但我不确定这是否是最好的方式。。。。我的意思是,我已经按时间对所有评论进行了排序,并选取了最新的一条,并假设它是发布的那条。
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)
      });
});