无法获得Facebook评论数

时间:2012-02-19 20:04:55

标签: facebook get count comments

我在我的网站上使用Facebook评论,它工作正常,但我无法检索评论数。

我尝试了HTML5代码:<div class="fb-comments-count" data-href="http://www.bmeme.hu/?site=post&amp;id=20">0</div>但它返回0而不是实数。

我在这里检查了我的页面:https://graph.facebook.com/comments/?ids=http://www.bmeme.hu/?site=post&id=20但是你可以看到它没有返回任何内容。

为什么无法获得Facebook评论?

由于

更新:这是我的代码,我使用的是:

<div class="fb-comments-count" data-href="<? echo urlencode($siteurl."/?site=post&id=".$value["id"]); ?>" style="display: inline;">0</div> komment

$siteurl = http://www.bmeme.hu
$value["id"] //the actual post id

<body>标记的第一行:

<div id="fb-root"></div>
<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/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

并没有效果......

2 个答案:

答案 0 :(得分:2)

这就是我以前用来评论计数的工作原理。 (这是有效的HTML 5代码,使用facebook网站上的示例来获取较旧的模板)。

//Include this in the footer of your page.  
(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_GB/all.js#xfbml=1&appId=xxxxxxxxxxxxxx";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

现在使用此div来检索评论计数(它将显示为0,因为您第一次使用它时,您可能不会对您的页面发表任何评论“。

<div class="fb-comments-count" data-href="http://www.yourpagelinkhere.com"></div>

答案 1 :(得分:1)

您正在以错误的方式对网址进行编码。

属性data-href应该是http://www.bmeme.hu/?site=post&id=20(注意&而不是&amp;)。就像你在评论社交插件中定义的一样。

要通过OpenGraph获取评论,您应该使用encodeURIComponent正确编码整个网址:

https://graph.facebook.com/comments/?ids=http%3A%2F%2Fwww.bmeme.hu%2F%3Fsite%3Dpost%26id%3D20
可以通过网址访问<{iframe comments-count版本的http://www.facebook.com/plugins/comments.php?href=http%3A%2F%2Fwww.bmeme.hu%2F%3Fsite%3Dpost%26id%3D20&permalink=1

{{1}}

<强>更新
由于您还关心“有效”HTML,因此您应该使用页面的URL编码URL来完成此操作。我创建了jsFiddle,你可以看到两种工作方式:http://jsfiddle.net/rFmyX/