Reputation: 1240
Facebook is planning to drop support for FQL after V2.0 https://developers.facebook.com/docs/apps/changelog/#v2_0_fql
The below task could be done easily with FQL
SELECT like_info.like_count, comment_info.comment_count, share_count
FROM stream
WHERE post_id = "POST_ID_HERE"
I am unable to find a replacement to the above method in graph api. I know we can get likes and comments count like
POST_ID/likes?summary=true AND
POST_ID/comments?summary=true
but I am unable to find a similar endpoint for shares.
NOTE: I am not looking for solutions that take URL input and query graph api for that URL shares, rather I am looking at finding solution to get shares count by POST_ID
PAGE_ID/feed?fields=comments.limit(1).summary(true),likes.limit(1).summary(true)
I have looked at.
The result should be something like this:
{
"data": [{
"like_info": {
"like_count": 3506
},
"comment_info": {
"comment_count": 263
},
"share_count": 278
}]
}
Any help would be highly appreciated.
Cheers!
UPDATE: It was an access token issue as the token I was using did not have "read_stream" permission.
Upvotes: 21
Views: 37587
Reputation: 2902
The field shares does not need the .summary(true)
at the end. It will bring always the total. But the likes
and comments does need .summary(true)
Example:
[POST_ID]?fields=shares,likes.summary(true),comments.summary(true)
Improved version works with Graph Api v2.11 (add limit(0) to removes lists of likes and comments and get only summary data):
[POST_ID]?fields=shares,likes.summary(true).limit(0),comments.summary(true).limit(0)
This will bring the total count of shares, comments and likes.
You may have a access_token with an read_stream
permission to get the shares count.
Upvotes: 37
Reputation: 19771
Get likes, comments and shares and all 3 combined.
Check my ans : https://stackoverflow.com/a/36997725/2439715
Improved version ( add limit(0) to removes list of likes and get only summary ):
114916098537132_1265715836790480?fields=shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
Upvotes: 5
Reputation: 4490
Get comments, shares, and likes count from post:
[POST_ID]/?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
I've included limit(0)
to prevent the API from spitting out the actual comments and likes. I believe the default limit is 25
.
Please note you can also add these fields to /feed
to get this data for all the posts on the page.
[PAGE_ID]/feed?fields=id,shares,likes.limit(0).summary(true),comments.limit(0).summary(true)
Final note: If shares
data is missing on the return, it is because the post has no shares. Instead of returning "shares": {"count": 0}
, the shares section will be removed entirely.
Upvotes: 3
Reputation: 9
"https://graph.facebook.com/v2.2/PAGEid_POSTid/?
fields=shares&access_token=YOUR_ACCESS_TOKEN";
I am using above mentioned endpoint.
Replace $pageID
and $videoID
(post id) with your variables.
"https://graph.facebook.com/v2.2/" . $pageID."_".$video->id . "/?fields=shares&access_token=YOUR_ACCESS_TOKEN";
Upvotes: 1