API Facebook — подсчет комментариев через FQL

Я пытаюсь отобразить количество комментариев Facebook в <div id="comments">

Это должно быть через язык запросов Facebook (FQL). Этот пост почти то, что мне нужно: Facebook Комментарии к URL-адресу Graph Api и подсчет общих ресурсов больше не работают

Но как отобразить comment_count (из запроса) в div? то есть как мне обрабатывать эти данные? Пока что у меня есть:


$(function(){
 $.ajax({
  url: 'https://graph.facebook.com/fql?q=SELECT%20comment_count%20FROM%20link_stat%20WHERE%20url=%27e',
  dataType: 'jsonp',
  success: function(data) {
   if(data.comment_count)
   {
    $('body').find('#comments').html('Comments ('+jsonp.data.comment_count+')');
   }else{
    $('body').find('#comments').html('Comments (0)');
   }
  }
 });
});

person melusinefile    schedule 17.01.2013    source источник
comment
Привет! - URL-адрес является просто примером: полный URL-адрес будет, например: graph.facebook.com/   -  person melusinefile    schedule 17.01.2013


Ответы (2)


Я сделал это так, чтобы обновить мой div с таким количеством лайков.

$fql  = "SELECT url, normalized_url, share_count, like_count, comment_count, ";
    $fql .= "total_count, commentsbox_count, comments_fbid, click_count FROM ";
    $fql .= "link_stat WHERE url = '".$url."'";

$j.ajax({
            url: 'https://api.facebook.com/method/fql.query?format=json&query=<?php echo urlencode($fql);?>',
            dataType: 'jsonp',
            success: function(data) 
            {
$j(".comment_count").html(data.comment_count);
}
});

работает для меня как шарм.

person Community    schedule 17.01.2013
comment
Итак, вы говорите, что все, что мне нужно сделать, это заменить -- url = '.$url.'; с моим URL? например (url='google.com')? (Пробовал, не получилось. Спасибо! - person melusinefile; 17.01.2013
comment
в основном, чтобы уточнить, мне нужно отобразить в div comment_count для этой ссылки в качестве примера: graph.facebook.com/ - person melusinefile; 17.01.2013
comment
.comment_count — это класс div, и он заменит html div количеством комментариев. - person ; 07.02.2013

С моей стороны,

Я использовал php-код, чтобы получить количество комментариев через fql. Во-первых, вам нужно скачать facebook php sdk и загрузить его вверху страницы:

require_once("src/facebook.php");

  $config = array(
    'appId' => 'YOUR_APP_ID',
    'secret' => 'YOUR_SECRET_KEY',
  );

  $facebook = new Facebook($config);

Затем fql-запрос:

$url  = 'http://www.yoururl.com/;

$fquery = 'SELECT comment_count, share_count, like_count FROM link_stat WHERE url = "'.$url.'"';
$fparam = array( 'method' => 'fql.query', 'query' => $fquery );
$fql = $facebook->api($fparam);

$cmcount = $fql[0]['comment_count'];

Итак, $cmcount теперь является счетчиком ваших комментариев, поместите его прямо в свой html-код:

<div id="comments">
<?php echo $cmcount; ?>
</div>
person pmrotule    schedule 04.02.2013
comment
Попробуйте «ВЫБРАТЬ commentbox_count» вместо «ВЫБРАТЬ comment_count», это более точно! - person pmrotule; 04.02.2013