Facebook API:获取页面/群组帖子的最佳方式,分享,评论数量?

时间:2013-09-28 00:21:13

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

获得帖子的相同,分享,评论数量的最佳方法是什么?

我正在尝试通过FQL但是当URL是FB帖子网址时它似乎没有提供任何数据:

  

SELECT like_count,comment_count,share_count FROM link_stat WHERE   URL = “https://www.facebook.com/Macklemore/posts/10153256675935268”

当我通过Graph API Explorer获取帖子信息时:

  

386050065267_10153256675935268

它给了我相同的计数和分享数,我可以通过386050065267_10153256675935268/comments?summary=true

获得评论数
{
  "id": "386050065267_10153256675935268", 
  "from": {
    "category": "Musician/band", 
    "name": "Macklemore", 
    "id": "386050065267"
  }, 
  "message": "We’re playing a FREE show in November to celebrate the new Microsoft Store opening in Jacksonville, Florida. Come see us! Info here: http://msft.it/STJevent\n\nThursday, November 21, 2013\n10:00 p.m.\nStart lining up for your chance to attend the show on Saturday.\nLocation: Outdoors behind Oakley, near Dick’s Sporting Goods.", 
  "actions": [
    {
      "name": "Comment", 
      "link": "https://www.facebook.com/386050065267/posts/10153256675935268"
    }, 
    {
      "name": "Like", 
      "link": "https://www.facebook.com/386050065267/posts/10153256675935268"
    }
  ], 
  "privacy": {
    "value": ""
  }, 
  "type": "status", 
  "status_type": "mobile_status_update", 
  "created_time": "2013-09-26T16:30:23+0000", 
  "updated_time": "2013-09-27T20:39:45+0000", 
  **"shares": {
    "count": 274
  },** 
  "likes": {
    "data": [
      {
        "name": "Jabson Ramos", 
        "id": "100005418486411"
      }, 
      {
        "name": "Sophia Belen Parada Andrades", 
        "id": "100002552653152"
      }, 
      {
        "name": "Oli Barrera", 
        "id": "100001718791443"
      }, 
      {
        "name": "Viktoria Martinez", 
        "id": "1697663024"
      }
    ], 
    **"count": 3345**
  }, 
  "comments": {
    "data": [
      {
        "id": "10153256675935268_43537841", 
        "from": {
          "name": "Vu Thai", 
          "id": "1338690172"
        }, 
        "message": "Sean Viray Matt Win Soo... about my birthday weekend...", 
        "message_tags": [
          {
            "id": "75311036", 
            "name": "Sean Viray", 
            "type": "user", 
            "offset": 0, 
            "length": 10
          }, 
          {
            "id": "25113189", 
            "name": "Matt Win", 
            "type": "user", 
            "offset": 11, 
            "length": 8
          }
        ], 
        "can_remove": false, 
        "created_time": "2013-09-26T16:31:03+0000", 
        "like_count": 4, 
        "user_likes": false
      }, 
      .....
    ], 
    "paging": {
      "cursors": {
        "after": "MjY=", 
        "before": "MQ=="
      }, 
      "next": "https://graph.facebook.com/386050065267_10153256675935268/comments?limit=25&after=MjY="
    }
  }
}

奇怪的是,当我在我的应用程序中运行该查询时,我没有获得共享计数或计数。难道我做错了什么?资源管理器中的数据与应用程序可以访问的数据不同吗?

我知道我可以通过386050065267_10153256675935268 / likes得到类似的数据吗?summary = true

最大的问题是缺少的份额。

总结,

你能通过FQL获得这些统计数据吗? 如果没有,您如何通过图表API获取共享计数?

3 个答案:

答案 0 :(得分:41)

POST_ID?fields=likes.summary(true),comments.summary(true),shares

结果:

{
  "shares": {
    "count": 272            //share count
  }, 
  "likes": {
    "data": [

    ], 
    "paging": {

    }, 
    "summary": {
      "total_count": 3453   //like count
    }
  }, 
  "comments": {
    "data": [

    ], 
    "paging": {

    }, 
    "summary": {
      "total_count": 255    //comment count
    }
  }
}

答案 1 :(得分:5)

你可以像https://graph.facebook.com/?ids=http://mycodingtricks.com一样使用facebook graph api,它会返回像

这样的json代码



{  
    "http://mycodingtricks.com":{  
        "id":"http://mycodingtricks.com",
        "shares":1
    }
}




我已经开发了自己的php脚本,你可以使用该api对所有社交人员进行计数。 http://mycodingtricks.com/share/social.php?url=YOUR-URL-HERE它将返回如下数据:



{  
    "facebook":[  
        {  
            "share_count":1,
            "like_count":0,
            "comment_count":0,
            "total_count":1,
            "click_count":0,
            "comments_fbid":567687199998199,
            "commentsbox_count":0
        }
    ],
    "googleplus":10,
    "twitter":3,
    "buffer":0,
    "pinterest":0,
    "stumblupon":1,
    "reddit":"<html><body><h1>403 Forbidden<\/h1>\nRequest forbidden by administrative rules.\n<\/body><\/html>\n",
    "linkedin":0
}
&#13;
&#13;
&#13;

但是如果你想自己使用这里有一篇关于如何统计facebook分享的完整文章,比如和所有。 http://mycodingtricks.com/php/2-ways-to-count-facebook-likes-shares-and-comments-using-php/

答案 2 :(得分:3)

现在折旧FQL。以下是使用2.x API的方法:

get /1000076132681/posts?limit=3&fields=object_id,likes.summary(true),comments.summary(true)

这导致xml,例如:

"summary": {
   "total_count": 80
 }

如果您还需要更大尺寸的图片网址,请查看

?fields=full_picture,attachments
相关问题