如何COUNT Facebook粉丝页(公共资料)的总壁帖,这不是我的PHP?

时间:2011-06-13 11:15:35

标签: php facebook facebook-graph-api facebook-fql

我需要存储一些关于粉丝页面的统计信息(比如计数,分享等),但是无法理解如何统计Page的总墙信息?最好是想要使用FQL,但任何想法都值得赞赏

3 个答案:

答案 0 :(得分:1)

这里是代码(如计数,分享等)

$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/>";

答案 1 :(得分:1)

link_stat表运行FQL查询:

FQL:     SELECT share_count,like_count,comment_count,total_count FROM link_stat WHERE url =“http://example.com”

PHP: $ facebook-&gt; api_client-&gt; 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

答案 2 :(得分:0)

FQL在其API中没有COUNT函数,因此您必须自己获取所有帖子并自行计算。

您可以使用类似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++;
    }

希望这仍然可以帮助某人,因为这个问题很老了。