【问题标题】:Facebook graph get likes/comments count of a post with PHPFacebook 图表使用 PHP 获取帖子的点赞数/评论数
【发布时间】:2014-01-30 08:18:59
【问题描述】:

我尝试了很多方法,但都失败了......

我正在使用 facebook php sdk 创建我自己的新闻提要(提要来自页面的时间线)

为了在 facebook 中获得点赞,我使用 $post['likes'] 其中 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"
           }
        ]

我怎样才能计算喜欢的数量,然后回应?

cmets 也是一样,我用 $post['cmets'] 会输出

"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
           }
        ]

同样的事情我想计算 cmets 的数量并回显它......

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

提前致谢

【问题讨论】:

  • 你的数据是json格式的,你试过用json_decode("json string",true);这将为您提供一个数组,您可以使用一些数组操作来获取计数。
  • 我真的是 PHP 的菜鸟初学者,不知道该怎么做...我所知道的只是我应该计算对象将是 {"id": "100002595937528", "name": "人名" }
  • 您可以在codepad.org 中发布您的代码以及所需的输出吗?
  • 我的提要有它的代码,但我目前根本没有我在这里问的代码,这就是我问这个问题的原因:P 我只想回应 cmets 和喜欢的数量。为了得到这个 json 数据,我要么做 $post['cmets'] 要么 $post['likes']
  • codepad.org/Qtc4uf8c 这是我的完整代码,我想在评论//TEST LIKE COUNT 所在的位置添加帖子计数

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


【解决方案1】:

使用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;

?>

同样的事情也适用于 cmets

【讨论】:

    【解决方案2】:

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

    例如Adding count to the comments

    【讨论】:

      【解决方案3】:

      这是一种从 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
       ?>
      

      【讨论】:

        【解决方案4】:

        你可以用这个

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

        【讨论】:

          猜你喜欢
          • 2016-08-15
          • 2014-05-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-02
          • 2015-03-05
          • 2012-11-04
          相关资源
          最近更新 更多