如何列出我的域中所有评论如何列出我的域中所有评论(How to list all comments

2019-05-13 13:54发布

我使用的HTML5版本Facebook Comment在我的网站。 我有我自己的Facebook应用程序ID。

使用Graph-API ,以及FQL (我认为这是如何做到这一点),我想列出张贴在我的网站上的所有评论。

例如 -

Page Title1
--Comment1
--Comment2
--Comment3

Page Title2
--Comment1
--Comment2
--Comment3

Page Title3
--Comment1
--Comment2
--Comment3

etc.

请帮助我。

Answer 1:

这是可能的,在两种不同的方式,只要你有一组固定的,你想从提取评论子页面。

如果你有大量的子页面,或可变量,那么你没有一个良好的可扩展解决方案 - 和许多一直在寻找一个:

  • Facebook的FB:评论图形API
  • 如何显示来自Facebook评论社交插件最近的评论?
  • Facebook的FQL查询到对应用程序返回所有评论
  • 通过检索应用程序ID与FQL所有评论
  • Facebook的FQL查询到对应用程序返回所有评论
  • FQL查询来获取评论数不再工作
  • http://facebook.stackoverflow.com/questions/10023179/retrieve-all-the-comments-posted-using-fql

对于你的网站一组固定的子页面,您可以使用批处理请求或FQL查询。

批量请求


首先,你需要你的访问令牌。 只需输入下面的URL在浏览器(信贷这个网站):

https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=APP_ID&client_secret=APP_SECRET

这是JavaScript的jQuery代码,使一批请求一次来从多个URL评论:

  $就({    网址: 'https://graph.facebook.com/',    键入: “POST”,    数据:{      的access_token: 'YOUR_APP_ACCESS_TOKEN',      批次:“[\      { “方法”: “GET”, “relative_url”: “URL1”},\      { “方法”: “GET”, “relative_url”: “URL2”} \      ]”    },    成功:功能(数据){      jdata = JSON.parse(数据);      $。每个(jdata,函数(指数,值){          jdata [指数]。体= JSON.parse(value.body);          的console.log(value.body);      });      //你想与jdata什么    }  }); 

FQL


灵感来自这个职位

FB.api({
    method: 'fql.query',
    query: 'select text from comment where object_id in (select comments_fbid from link_stat where url="URL1" or url="URL2")'
  }, function(response) {
    // Do something with results
  });

结论

由于此限制的Facebook的,我打算改用disqus.com,这显然支持此功能(正如你可以看到这个博客 ,例如,(搜索“最近的评论”)



Answer 2:

而不是名单上的所有网站上的评论,Facebook希望你实现代码,当一个新的注释任何地方张贴在您的网站上得到通知。

要做到这一点,你必须把一些JavaScript到其中发布评论也通知自己的页面:

window.fbAsyncInit = function(){
    console.log("subscribing to comment create");
    FB.Event.subscribe('comment.create',function(response){
        console.log("facbeook comment created: " + JSON.stringify(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 () {
            console.log("Facebook comment: " + JSON.stringify(commentQuery));
        }); 
    });
};

凡而不仅仅是登录到控制台的意见,你就需要实现一些AJAX会发评论到你的网站,你可以在注释存储在数据库中,或给自己发送一封电子邮件,通知您的评论已发布。



Answer 3:

参考: Facebook的评论插件

说你的网站是http://mywebsite.com/blog.php?id=3和你有它的Facebook评论插件,您可以访问评论这样

 https://graph.facebook.com/comments/?ids={YOUR_URL}.

{YOUR_URL} becomes http://mywebsite.com/blog.php?id=3

例1:(评论插件安装在开发Facebook的文档网站)

网站: http://developers.facebook.com/docs/reference/plugins/comments

提取评论: https://graph.facebook.com/comments/?ids=http://developers.facebook.com/docs/reference/plugins/comments

实施例2:

网站: http://techcrunch.com/2011/04/08/the-seven-most-interesting-startups-at-500-startups-demo-day/

提取评论: https://graph.facebook.com/comments/?ids=http://techcrunch.com/2011/04/08/the-seven-most-interesting-startups-at-500-startups-demo-天/

检查这个太

拉注释的示例代码可以在此找到博客文章



文章来源: How to list all comments in my domain