Как подсчитать общее количество постов на фан-странице Facebook (публичный профиль), которая не моя в PHP? - PullRequest
4 голосов
/ 13 июня 2011

Мне нужно хранить некоторые статистические данные о фан-страницах (например, количество, доли и т. Д.), Но я не могу понять, как подсчитать общее количество постов на странице? Желательно использовать FQL, но любые идеи приветствуются

Ответы [ 3 ]

1 голос
/ 17 июня 2011

Запустить FQL-запрос к таблице link_stat :

FQL: ВЫБЕРИТЕ share_count, like_count, comment_count, total_count FROM link_stat WHERE url = "http://example.com"

PHP: $ facebook-> api_client-> fql_query ('SELECT share_count, like_count, comment_count, total_count FROM link_stat WHERE url = "http://example.com"');

Для этого запроса FQL теперь может потребоваться токен доступа - поэтому попробуйте добавить его, если вышеприведенный сбой.

Вы также можете получить доступ к графику API: http://graph.facebook.com/?id=http://example.com.

1 голос
/ 13 июня 2011

здесь код (например, количество, доли и т. Д.)

$source_url = "http://www.flightpodcast.com/episode-6-john-bartels-qantas-qf30";
$url = "http://api.facebook.com/restserver.php?method=links.getStats&urls=".urlencode($source_url);
$xml = file_get_contents($url);//echo "<pre/>";print_r($xml);exit;
$xml = simplexml_load_string($xml);
echo "<b>Shares:</b> ".$shares = $xml->link_stat->share_count;echo "<br/>";
echo "<b>Likes:</b> ".$likes = $xml->link_stat->like_count;echo "<br/>";
echo "<b>Comments:</b> ".$comments = $xml->link_stat->comment_count;echo "<br/>";
echo "<b>Total:</b> ".$total = $xml->link_stat->total_count;echo "<br/>";
0 голосов
/ 06 ноября 2013

FQL не имеет функции COUNT в их API, поэтому вам нужно будет получить все сообщения и подсчитать их самостоятельно.

Вы можете использовать что-то вроде PHP, чтобы сделать это следующим образом:

    $fqlAPIParams = array(
        'method' => 'fql.query',
        'query' => '
                SELECT  post_id
                FROM    stream
                WHERE   actor_id = '.$pageId.' AND
                        source_id = '.$pageId.' 
                        LIMIT 999999'
    );
    $result = $facebook->api($fqlAPIParams);
    $postCount = 0;
    foreach( $result as $post ) {
         $postCount++;
    }

Надеюсь, что это еще может кому-то помочь, так как вопрос довольно старый.

...