I need object comment list with their authors for extraction statistical information about author and their comments. FB Graph api allow me to get comment list but there no way to get information about comment author.
Since v2.11 of the Graph API, you can only get user information about comment authors by using a Page Token. You can only get a Page Token if you manage the Page. There is no way to get the author data if you do not manage the Page.
Changelog: https://developers.facebook.com/docs/graph-api/changelog/version2.11#gapi-90
Also, make sure you ask for the relevant fields: /post-id/comments?fields=message,from
Related
Im trying to get Facebook comments using the Graph Api.
I've researched online and found an example that works but there's one thing that about it that I can't find any information about it.
Here's the Example that works:
https://graph.facebook.com/19292868552_118464504835613/comments?access_token=ZZZZZZZ
https://graph.facebook.com/XXXXXXXXXXX_YYYYYYYYYYYYYYY/comments?access_token=ZZZZZZZ
How do I get XXXXXXXXXXX_YYYYYYYYYYYYYYY ?
Is it the UserId concatenated with the Comment Id, is it returned by the Graph Api?
Why is there practicaly no information on this?
In the case of getting a page's post_id you can make a call like this to get the post_id.
https://graph.facebook.com/v3.2/{pageId}/posts?access_token={accessToken}
post_id looks something like this - 5704324444475_570454233326 and is in the id field of each returned post.
To get all comments for a page first you need to make a call to get all your posts and then make a call for each post to get comments.
I'm having good luck using python and the FB graph api to collect reactions, comments from Facebook posts however, I'm having trouble targeting this specific photo link:
https://www.facebook.com/SheShopped/photos/a.432191143458704.110954.428340903843728/1367643623246780/?type=3&theater
Can anyone tell me how to deconstruct this link into a FB graph query?
If you want to look at the comments of this specific photo you just need to extract the id from the link (it's the last segment of the url) which is 1367643623246780. You'll find the comments at 1367643623246780/comments:
If you want to find this picture and others like it, you need to notice the type of picture (it is a 'Timeline Photo'). Looking at the relevant API-Documentation (Open Graph Page Photos) these can be found at 'SheShopped/photos/uploaded':
We are trying to poll recent comments for a fb page. It appears that using graph API requires a separate call per post (e.g if there are 100 posts we'll have to do 100 calls to retrieve the comments of all posts).
So, we're using FQL in the following way:
https://api.facebook.com/method/fql.query?format=json&access_token<acess_token>&query=SELECT id, text, post_id, fromid, username, time, likes FROM comment WHERE post_id in ('156790397738497_357582840992584', ...)
Most of the time it works fine, but we've found several cases where it does not return all the comments of a post (using the graph API for the specific post id does retrieve all posts).
Has anyone found any solution to this or a better way to retrieve all recent comments of a page?
We've filled a FB bug (http://developers.facebook.com/bugs/529168040436289) but they don't seem to be willing to investigate it.
This is a major problem for us too. This really should work. Slightly disappointing that something as important as this is not supported by FB.
Is there anyway to determine if an object in Open Graph has been liked?
The documentation seem to imply that I have to post a like action on my object and expect an Error 3501 when it has been liked before.
From an UI pov this doesn't make sense, I want to change my like button ui to an "unlike" state without having to like my object and see if it fails or not.
Thanks!
If you're looking specifically for likes on an Open Graph Object (as in the target of an Open Graph Action), and you're talking about built-in (og.likes) likes, Shawn's answer is mostly right, but you need to look in a different FQL table.
An Open Graph Object is just a URL that resolves to a page that has og:type meta in its header. Facebook treats these as link objects (you can check this with SELECT type FROM object_url where url='http://url.to/your/object')
You can find interesting information in the link and link_stat FQL tables, but what you're looking for is the join table where Facebook relates user likes to links: the url_likes table.
So, to tell if the current user has liked a given Open Graph Object, you'd use:
SELECT user_id FROM url_like WHERE user_id=me() AND url='http://url.to/your/object'
If you get a value back, the current user has already liked it. If you get an empty array, the current user has not liked it.
To my knowledge, there's no way to do this with the Graph API, only FQL. I'd love to be proven wrong, though.
Depending on the object, if the object has a like connection you can user the graph api to determain if current user has liked the object.
i use fql in a similar fasion to check if a user likes a post.
/fql?q=SELECT+user_id+FROM+like+WHERE+post_id=\''.$postid.'\'+AND+user_id=me()
refer to post / like https://developers.facebook.com/docs/reference/api/page/
I'm starting to use the Graph API to get my notifications, and in the REST interface, they had the object_id field. I used this to get the notification objects' id to then query the Graph for more information.
The Graph API object does not include this information.
Example of what I want to do:
Get user's notifications JSON object.
Grab single item
Identify if this item supports commenting/liking
Display comments and number of likes for that item
if user can comment or like item, display buttons for this
my process:
call me/notifications/?include_read=1
is pretty easy to do.
I can identify if the object refers to a group, event, random application, post, or photo using the URL. I know that posts, likes, photos and others support commenting/likes so I have a way of doing this, though it involves parsing the link attribute of the item
this is what I need help with. I can get the id of the object by parsing the link, but I don't get the full object some times using this. For example, to post on a comment, you need to have USERID_COMMENTID and the link only has the COMMENTID in this form http://www.facebook.com/USERNICKNAME/posts/COMMENTID
I also need help with this. I guess some fb objects can't been liked via the graph?
any help would be great!
The notification FQL table, which also replaced the REST notifications.get API, still has an object_id column. That's the closest thing that exists to what you're asking for. It doesn't look like the Graph API call is documented to have the object_id field unfortunately.