Facebook评论依靠评论插件

时间:2015-06-02 16:16:01

标签: php facebook api plugins comments

我经营许多使用Facebook评论插件的新闻网站,例如

<script>
    (function(d, s, id) {
      var js, fjs = d.getElementsByTagName(s)[0];
      if (d.getElementById(id)) return;
      js = d.createElement(s); js.id = id;
      js.src = "//connect.facebook.net/en_US/sdk.js#version=v2.3&xfbml=1&appId={appID}";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</script>

这将显示注释插件,其中总计数位于顶部,相对于当前网站,而不是所有Facebook上的总评论。这是我想要的数字。

现在,我想在网站上创建一个小部件来查找他们的评论最多的文章。目前我正在使用这样的古老REST API:

$rest_url = "http://api.facebook.com/restserver.php?format=json&method=links.getStats&urls=".$allURLs;
$json = json_decode(file_get_contents($rest_url),true);

其中$allURLs是以逗号分隔的文章网址列表。但是,comment_count会返回FB上的注释总数。因此,如果我有一篇通过插件提交了7条评论的文章,​​comment_count可能是20,例如,如果FB上的其他地方有评论。我看到commentsbox_count在那里看起来像我需要的,但它总是显示0。

因此,通过我网站上的网址列表和appID,我如何查询Facebook以返回“本地”评论计数?我需要通过PHP进行此操作,以便我可以对值进行排序,所以fbml对我不起作用。

编辑 - 我也尝试了一个FQL查询并得到了相同的结果:

$fql  = "SELECT comment_count FROM link_stat WHERE url = '$url'";
$fqlURL = "https://api.facebook.com/method/fql.query?format=json&query=" . urlencode($fql);

0 个答案:

没有答案