【问题标题】:How to fetch facebook likes, share, comments count from an article如何从文章中获取 Facebook 点赞、分享、评论计数
【发布时间】:2011-05-26 10:56:16
【问题描述】:

我需要从一篇文章中获取 Facebook 点赞、分享、cmets 计数

有什么方法可以获取 facebook(喜欢、分享、cmets)计数

提前致谢。

【问题讨论】:

标签: php facebook


【解决方案1】:

实际上,您可以使用 FQL 获得更详细的报告。 尝试以下查询:

  • SELECT url、normalized_url、share_count、like_count、comment_count、total_count、cmetsbox_count、cmets_fbid、click_count FROM link_stat WHERE url = 'www.apple.com'

这里是php代码:

$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 = 'www.apple.com'";

$apifql="https://api.facebook.com/method/fql.query?format=json&query=".urlencode($fql);
$json=file_get_contents($apifql);
print_r( json_decode($json));

这是预期的结果:

Array
(
    [0] => stdClass Object
        (
            [url] => www.apple.com
            [normalized_url] => http://www.apple.com/
            [share_count] => 355693
            [like_count] => 500374
            [comment_count] => 290890
            [total_count] => 1146957
            [commentsbox_count] => 2
            [comments_fbid] => 388265801869
            [click_count] => 16558
        )

)

【讨论】:

  • 知道如何获取通过 FQL 共享的人员列表吗? (或任何其他方式......我认为你不能通过 GraphAPI)
  • @freedev 此解决方案是否适用于 apple.com/viewArticle/245?
  • fql 已弃用。使用图形 API。请参阅下面的答案
【解决方案2】:

这个解决方案对我有用:

<?php
$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);
$xml = simplexml_load_string($xml);

echo "Share --- ".$shares = $xml->link_stat->share_count;
echo "<br/>";

echo "Like --- ".$likes = $xml->link_stat->like_count;
echo "<br/>";

echo "Comments ---".$comments = $xml->link_stat->comment_count; 
echo "<br/>";

echo "Total --- ".$total = $xml->link_stat->total_count;
echo "<br/>";

echo $max = max($shares,$likes,$comments);

【讨论】:

  • 这很好用!我注意到与您的代码无关但与 facebook 无关的东西:我在 WordPress 网站上使用 facebook cmets 插件。 Facebook 没有将 cmets 算作实际的“cmets”,而是算作“份额”。此外,从 WP 网站上的 facebook '模块' 或我的 facebook 个人资料中删除评论并不会减少“分享”数量......我还要就此提出一个单独的问题。
  • 谢谢一百万。您正在使用“旧”REST API。 facebook 在其他文档网站上写道,这已被弃用。您或其他人是否知道如何使用“新”图形 API 获取这些计数器?
  • 我认为您现在只能通过 Graph API 获得点赞。
【解决方案3】:
result = mysql_query($query);

 while($row = mysql_fetch_array($result))
 {
    $photoid = $row['photoid'];
    $likes = $facebook->api("/$photoid/likes");


    echo "<br><br>".$row['photoid'];
    echo "<br />";

    foreach ($likes['data'] as $like)
    {
        $likeid = $like['id'];
        $name =  $like['name'];
        echo "<br>like : ".$like['id']."  , ".$like['name'];

        $query = sprintf("INSERT INTO photo_like VALUES (%s,%s,'%s')",$user_id,$likeid,$name);

        echo "<br>query string : ".$query."<br><br>";
        $result = mysql_query($query);
        if (!$result) {
                            $message  = 'Invalid query: ' . mysql_error() . "\n";
                            $message .= 'Whole query: ' . $query;
                            echo "<br>";
                        }

【讨论】:

    【解决方案4】:

    使用 Graph API 作为 FQL 已弃用,您在 url 中看到的 101.. 是文章 id

    https://developers.facebook.com/tools/explorer

    【讨论】:

    • 添加 limit(0) 以仅包含摘要
    猜你喜欢
    • 2018-08-02
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2012-11-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多