Facebook图形得到喜欢/评论计数与PHP的帖子

时间:2014-01-11 07:40:11

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

我尝试了很多这样做的方法,所有这些方法都失败了......

我正在使用facebook php sdk创建我自己的新闻Feed(该Feed来自页面的时间轴)

要在Facebook中获取相似内容我使用 $ post ['likes'] 会输出:

"data": [
           {
              "id": "100001919135377",
              "name": "Person name"
           },
           {
              "id": "1153253855",
              "name": "Person name"
           },
           {
              "id": "100000945245573",
              "name": "Person name"
           },
           {
              "id": "100002595937528",
              "name": "Person name"
           },
           {
              "id": "100001873157306",
              "name": "Person name"
           },
           {
              "id": "1356273210",
              "name": "Person name"
           }
        ]

我如何计算喜欢的数量然后回复?

评论相同,我使用 $ post ['comments'] 并输出

"data": [
           {
              "id": "637555672952364_6191387",
              "from": {
                 "name": "Person Name",
                 "id": "1153253855"
              },
              "message": "Comment content",
              "can_remove": false,
              "created_time": "2014-01-11T07:28:37+0000",
              "like_count": 0,
              "user_likes": false
           },
           {
              "id": "637555672952364_6191388",
              "from": {
                 "name": "Person Name",
                 "id": "1153253855"
              },
              "message": "Comment content",
              "can_remove": false,
              "created_time": "2014-01-11T07:28:39+0000",
              "like_count": 0,
              "user_likes": false
           }
        ]

同样的事情,我想计算评论的数量并回应它......

如果您需要了解更多信息,请告知。

提前致谢

4 个答案:

答案 0 :(得分:2)

使用count();函数获取JSON数组所具有的元素数

以下是PHP

的简单file_get_contents示例
<?php

function fetchUrl($url){

         return file_get_contents($url);

}

$authToken = "{Token}";

$json_object = fetchUrl("https://graph.facebook.com/{POST_ID}/likes?$authToken}&limit=5000"); // 

$feedarray   = json_decode($json_object, true);

$likesNum = count($feedarray['data']); // return the number of items in `data` array

print $likesNum;

?>

同样适用于评论

答案 1 :(得分:2)

尝试在api调用中使用comments.summary(true)

例如Adding count to the comments

答案 2 :(得分:1)

这是一种从Facebook获取facebbok的简单方法

<?php
    function fetchUrl($url) {
        return file_get_contents($url);
    }

    $authToken = "{token}"; // Authentication Token
    $facebookUrl = "{page name only}"; // https://www.facebook.com/page name
    $json_object = fetchUrl("https://graph.facebook.com/$facebookUrl/?fields=fan_count&access_token=$authToken");

    $feedarray   = json_decode($json_object, true);

    echo number_format($feedarray['fan_count'],0,",","' "); // Will display count : 00'000
    echo $feedarray['fan_count']; // Will display count : 00000
 ?>

答案 3 :(得分:0)

您可以使用此

$json_object = fetchUrl("https://graph.facebook.com/{POST_ID}/likes?field=total_count");