Не удается получить количество комментариев на Facebook - PullRequest
3 голосов
/ 20 февраля 2012

Я использую комментарии 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 ]

2 голосов
/ 21 июня 2012

Это то, что я использовал для подсчета комментариев. (Это действительный код 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 голос
/ 20 февраля 2012

Вы неправильно кодируете URL.

Атрибут data-href должен быть http://www.bmeme.hu/?site=post&id=20 (уведомление &, а не &amp;). Так же, как это определено в вашем социальном плагине комментариев.

Чтобы получить комментарии через OpenGraph, вы должны правильно закодировать весь URL-адрес с помощью encodeURIComponent:

https://graph.facebook.com/comments/?ids=http%3A%2F%2Fwww.bmeme.hu%2F%3Fsite%3Dpost%26id%3D20

iframe версия comments-count может быть доступна по URL:

http://www.facebook.com/plugins/comments.php?href=http%3A%2F%2Fwww.bmeme.hu%2F%3Fsite%3Dpost%26id%3D20&permalink=1

Обновление:
Так как вы также заботитесь о «действительном» HTML, вы должны использовать URL-адрес в кодировке для страницы, чтобы сделать это, как это было сделано. Я создал jsFiddle, вы можете увидеть оба способа работы: http://jsfiddle.net/rFmyX/

...