Loop on comments on facebook - facebook

I was wondering if there is any option to loop on comments of a certain post?
for example I'm trying to loop on the comments for a post that looks like
https://www.facebook.com/{publisher_name}/posts/{post_id}
I came across the facebook graph api but failed any example I tried.
I'm using the Graph API Explorer facebook provided on https://developers.facebook.com/tools/explorer/
and tried getting the post object failed every time
GET/v2.8/{publisher_id}_{post_id}
leads to message "Unsupported get request. Object with ID '{publisher_id}_{post_id}' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api"
when trying to reach the post just by using the post id I get "(#12) singular statuses API is deprecated for versions v2.4 and higher"

Related

Get Facebook comments from a non-Facebook site URL

Is there still a way to get Facebook comments from a site URL using Graph API?
I tried converting a site URL to an object-id, but it failed using Graph API Explorer.
Some older posts mention using /{object-id}/comments, some mention ?id=https://she.hr/nevjerojatni-spoj-dragocjenih-bisera-i-pouzdane-njege-uz-nivea-pearlbeauty-black-antiperspiranate/&fields=og_object{comments{message,from{name,%20picture}}}
But I couldn't get a single comment.
I also found fb_comment_id in comments' IFRAME, but couldn't get data on that one either on Graph API explorer (using /{comment_id}).

Getting Facebook comments "From" field using Graph API [duplicate]

Recently, when using the /feed Facebook Graph API method, it has stopped returning the From field. This field typically contains the Id and Name of the author of the Facebook Post in question.
The URL I'm hitting is https://graph.facebook.com/{id}/feed?fields={my-fields-here}&access_token={token}
From what I can tell, the From field still exists within the API: If I try https://graph.facebook.com/{id}/feed?fields=id,from&access_token={token} I get a list of IDs (no Froms though), without errors.
However, if I try a deliberately-invalid field name, such as https://graph.facebook.com/{id}/feed?fields=id,doesnotexist&access_token={token} then I get an error response of (#100) Unknown fields: doesnotexist.
So the From field still exists as far as the Facebook Graph API is concerned. It's just no longer being returned. Did something change recently? The From field is also still listed as the list of fields over on their documentation. As far as the data itself goes, posts dating months back also no longer have From, so it's not a case of "newer posts in the feed lack the field, but older posts do either."
I'm at a loss! If anyone could lend a hand, I'd appreciate it.
It is only included if you use a Page Token. v2.11 of the Graph API (90-Day Breaking Changes):
/page/* — User information will not be included in GET responses for
any objects owned by (on) a Page unless the request is made with a
Page access token. This affects all nodes and edges that return data
for objects owned by a Page.
Source: https://developers.facebook.com/docs/graph-api/changelog/version2.11
...or in the link of your question:
Any valid access token can read posts on a public Page, but responses
will not include User information.
A Page access token can read all Posts posted to or posted by that Page, and responses will include User information.

How to count likes/comments of a photo/post using new Facebook Graph API 2.1?

I tried for several hours to get the total number of likes/comments of a photo/post using the new Facebook Graph API 2.1 but I didn't find how to do it.
I am able to photo and post details through the API but it contains only an subarray with some likes and comments (ID/Name pair), but no the total number. Graph API Reference for object/likes mention a total_count field but is not able to found in API response.
Can you please suggest me a way to do it?
I am using latest Facebook PHP SDK 4.
I faced this situation before. Facebook Graph API Explorer, in the Fields dropdown list, you can not find any field related to total_like or total_comment of a specific post ( via its object_id). That means Facebook Graph API does not support getting the total likes, comments of a specific post.
But, it support to get likes, comments data of a post via likes, comments fields. So by this way, you can get the entire data about likes, comments, therefore, you can get the total number of likes/comments. This solution is not good, I think. I think in the near feature, Facebook Graph API support the fields total_likes, total_comments.
/object_id?fields=comments.limit(1000),likes.limit(1000)

"unsupported get request" for a post that exists and is publicly visible

The following public post which is visible on the page it was posted (it is not "hidden") is a mystery to me: https://www.facebook.com/Orange.France/posts/833781953305851
i.e., it is not available in the page's /feed edge, and the graph API can't retrieve it either. The following command returns an "unsupported get request":
curl https://graph.facebook.com/170852259598827_833781953305851?access_token=XXX
I tried also the following without much success:
curl https://graph.facebook.com/833781953305851?access_token=XXX
In both cases, I tried the access_token of the page as well a random access_token generated from the graph explorer.
So, the question is: how can I retrieve this post through the FB API ?
You can't retrieve that post via the API - it was made by a user whose data cannot be accessed via the API by any app due to their privacy settings
You can see this by trying to load the poster's details (https://graph.facebook.com/<username>- it fails with the same exception)
Such posts will never be accessible via the API, because the person who made the post has explicitly disabled all apps from interacting with them or their posted content
If you want to prevent such users from posting on the page, there's an API-settable option called which will stop this - documentation for how to apply settings to the pages your app manages is here: https://developers.facebook.com/docs/graph-api/reference/page/settings
The specific option you need to enable to prevent platform-opt-out users from posting is called PLATFORM_OPTOUTS_CAN_POST
The main reason is not because of page, but it's because of the author turn the platform off.
You can't query the author basic info via Graph API.
The author can turn the platform off, so any Graph API query including comments wouldn't include him.

Get page_impressions from Facebook API

Using the Graph API Explorer, I am trying to obtain the page_impressions metric (as described in the Facebook API Insights Documentation) for one of my pages. The actual value that I am looking for is the "Weekly Total Reach" number, found on the Facebook Insights page (https://www.facebook.com/userID?sk=page_insights).
What I've tried under Graph API:
userID/insights/ - Gives some good info, but nothing about
page_impressions
What I've tried under FQL Query:
SELECT metric, value FROM insights WHERE object_id=userID
AND metric='page_impressions' AND
end_time=end_time_date('2012-12-26') AND period=period('week') - This
returns an empty data set.
This same question (or very similar) has been asked a few times on stackoverflow, but I could not find an answer.
Turned out I was really just having issues with my Auth Token. When I used the following Graph API call it worked just fine:
/[pageId]/insights (thanks to Oleg, for the correction on pageId)
This gave me all the info I needed, including the page_impressions. And if I wanted just the page_impressions data:
/[pageId]/insights/page_impressions