编程语言
首页 > 编程语言> > javascript – 如何列出我的域中的所有评论

javascript – 如何列出我的域中的所有评论

作者:互联网

我在我的网站上使用HTML5版的Facebook评论.我有自己的Facebook APP Id.

使用Graph-API和FQL(我想这是怎么做的),我想列出我网站上发布的所有评论.

示例 –

Page Title1
--Comment1
--Comment2
--Comment3

Page Title2
--Comment1
--Comment2
--Comment3

Page Title3
--Comment1
--Comment2
--Comment3

etc.

请帮帮我.

解决方法:

只要您有一组固定的子页面想要从中获取注释,就可以通过两种不同的方式实现.

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

> Facebook fb:comments Graph API
> How to display recent comments from Facebook Comments social plugin?
> Facebook FQL query to return all comments against an application
> Retrieve all comments with FQL by application ID
> Facebook FQL query to return all comments against an application
> fql query to get comment count no longer working
> http://facebook.stackoverflow.com/questions/10023179/retrieve-all-the-comments-posted-using-fql

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

批量请求

首先,您需要访问令牌.只需在浏览器中输入以下内容作为网址(贷记到this网站):

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

这是javascript jquery代码,用于发出批处理请求,以便立即从多个URL中获取注释:

$.ajax({
  url: 'https://graph.facebook.com/',
  type : "POST",
  data: {
    access_token : 'YOUR_APP_ACCESS_TOKEN',
    batch : '[ \
    {"method":"GET","relative_url":"URL1"}, \
    {"method":"GET","relative_url":"URL2"} \
    ]'
  },
  success: function(data) {
    jdata = JSON.parse(data);
    $.each(jdata, function(index,value){
        jdata[index].body = JSON.parse(value.body);
        console.log(value.body);
    });
    // Do whatever you want with jdata
  }
});

FQL

灵感来自this的帖子

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(例如,您可以从blog中看到.(搜索“最近的评论”)

标签:facebook-comments,javascript,facebook-graph-api,facebook-fql
来源: https://codeday.me/bug/20190925/1815954.html