How to get Likes Count when searching Facebook Graph API with search=xxx

半腔热情 提交于 2019-11-26 10:25:33

问题


I am currently using Facebook graph api search to search posts as

http://graph.facebook.com/search?q=iwatch&type=post&access_token=xxxxx 

It returns in JSON format fields and use to include the like:count for a given post.

After reading the dev roadmap (https://developers.facebook.com/roadmap/) for changes after July 10th I am instructed to use the summary=true param but I have no idea how to get this to work with search?

From FB blog on roadmap.

Removing \'count\' from \'comments\' Graph API connection We are removing the undocumented \'count\' field on the \'comments\' connection in the Graph API. Please request {id}/comments?summary=true explicitly if you would like the summary field which contains the count (now called \'total_count\')

I have tried various combinations and searched for examples but no dice. Can anyone give me some advice on how to get the new summary=true to work within a search URL for searching posts?


回答1:


Couldn't find this in the documentation but multiple calls to the API are not necessary. You can use summary when querying a feed or multiple posts. Specify this in the fields parameter.

https://graph.facebook.com/PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true)

This will return a response like this.

{
  "data": [
    {
      ....
      "summary": {
        "total_count": 56
      }
      ...
    }, 
    {
      ....
      "summary": {
        "total_count": 88
      }
      ...
    }
  ]
}

This will be much faster than making individual requests for each object just to get the number of comments or likes.




回答2:


You can also get all Posts > Comments > Likes in a single request:

https://graph.facebook.com/<obj_id>/feed?fields=message,comments.limit(10).summary(true){message,from,likes.limit(0).summary(true)}

The braces are nested requests.

This gives the following result:

{
    "data": [
      {
        "message": "Contents of the Post"
        "id": "123456789123456789",
        "comments": {
        "data": [
          {
            "message": "Contents of the Comment",
            "from": {
                 "name": "John Doe",
                 "id": "123456789"
            },
            "likes": {
               "data": [],
               "summary": {
                  "total_count": 14,
                  "can_like": true,
                  "has_liked": false
               }
            },
       ...



回答3:


The summary is on the likes connection of the post object

just call

https://graph.facebook.com/POST_ID/likes?summary=true&access_token=XXXXXXXXXXXX

there will be a 'summary' element with a 'total_count' field




回答4:


To get the count of page likes you can use fan_count field.

search?q=xxx&fields=fan_count&type=page



回答5:


I construct my API query like this, and it allows me to fetch a one shot query:

https://graph.facebook.com/PAGE_ID/feed?fields=comments.limit(25).summary(true),likes.limit(25).summary(true)



回答6:


the api has changed. new field name is 'fan count'.

https://graph.facebook.com/PAGE_ID?fields=fan_count



来源:https://stackoverflow.com/questions/17755753/how-to-get-likes-count-when-searching-facebook-graph-api-with-search-xxx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!