Retrieve Facebook reviews likes via Graph API - facebook

I am trying to retrieve some reviews data from Graph API, including comments, sub-comments, etc.
I can get like_count on comments using the endpoint with these parameters:
{page-id}/ratings?fields=open_graph_story{comments{like_count}}
Or the same thing with sub-comments:
{page-id}/ratings?fields=open_graph_story{comments{comments{like_count}}}
But I can't seem to find how to get them for the review itself.
I tried this:
{page-id}/ratings?fields=open_graph_story,like_count
And this (which throws an error):
{page-id}/ratings?fields=open_graph_story{like_count}
Just to be clear: in this question I separated the calls for likes on comments/sub-comments, but in reality, I'm getting all the data in a single call like this:
{page-id}/ratings?access_token={access-token}&fields=open_graph_story{comments{created_time,from,message,comments{created_time,from,message,like_count,user_likes},like_count,user_likes}},rating,review_text,created_time,reviewer

try
graph.facebook.com/open_graph_story_id?fields=likes
should return a payload structured similar to below
{
"likes": {
"data": [
],
"can_like": true,
"count": 0,
"user_likes": false
},
"id": "open_graph_story_id"
}

Related

Get empty Element List for post of my organization

I need to retrieve analytics of my companies posts.
I do have the following rights:
r_1st_connections_size
r_ads_reporting
r_basicprofile
r_emailaddress
r_liteprofile
r_organization_social
rw_ads
rw_organization_admin  reporting data"
w_member_social
w_organization_social
for my Bearer token.
But my request:
https://api.linkedin.com/v2/shares?q=owners&owners=urn:li:organization:*myOrganisationId*
does return:
{
"paging": {
"start": 0,
"count": 10,
"links": [
{
"type": "application/json",
"rel": "next",
"href": "/v2/shares?count=10&owners=urn%3Ali%3Aorganization%<myOrganisationId>&q=owners&start=0"
}
],
"total": 568
},
"elements": []
}
What is strange. Because it genuinely succeeds, and even returns a total > 0 but the elements are ALWAYS for ALL pages empty.
How can that be? Any insights?
I would appreciate also any input on which endpoint provied most easily the most metrics like click-rate, impressions, ... , of the posts?
Thanks a lot for your help.
If you need to retrieve the insigths from a share object you need to use the adAnalyticsV2 endpoint (here).
You can than retrieve the data by querying the endpoint in this way:
https://api.linkedin.com/v2/adAnalyticsV2?q=analytics&pivot=SHARE&timeGranularity=DAILY&shares=List(urn:share:XXXX)
to get a list of all shares I use this (replace the 00000 with your company ID):
https://api.linkedin.com/v2/ugcPosts?q=authors&authors=List(urn%3Ali%3Aorganization%3A00000)&sortBy=LAST_MODIFIED
That will actually give you a lot more, than you need but you will have a list of share urns as well as their texts and even authors. I wonder how are you planning to combine the two, cause that's what I am trying to figure out.
Thanks,
Piotrek

Instagram API response with users not in caption

I want to know what users are tagged in a photo on Instagram, who don't appear in the caption.
Anyone know if this is possible? That is, does the response contain users that are tagged, but that are not physically in the caption text?
https://www.instagram.com/developer/endpoints/tags/
The property you probably want is called users_in_photo. It is an array which contains an array of user objects who've been tagged in the photo. It also contains the geometric coordinates in the photo that the user has been "tagged" at.
Here is an example response using the /media/MEDIA_ID endpoint:
Endpoint Documentation -> https://www.instagram.com/developer/endpoints/media/#get_media
{
"data": {
"users_in_photo": [{
"user": {
"username": "kevin",
"full_name": "Kevin S",
"id": "3",
"profile_picture": "..."
},
"position": {
"x": 0.315,
"y": 0.9111
}
}],
// rest of object...
}
}
I think what you are looking for are username mentions in captions and comments, API does not return this list in API, you will have to search for #usernames in the caption string.
You will have to make a separate API call to get the comments in post (u can only get latest 120), and do a manual string search in each of the comments.
users_in_photo in API response will have an array of users that are actually tagged on photo, not username mentions

Facebook API endpoint to get campaigns of a certain objective?

I'm trying to fetch all of my ad campaigns from Facebook whose objective is "WEBSITE_CLICKS" (ie, driving visitors to your site). When I make a GET request against the following:
/act_myaccountid/adcampaign_groups?fields=objective,name
or, using the official Python Ads SDK:
fields = [facebookads.objects.AdCampaign.Field.objective, facebookads.objects.AdCampaign.Field.name]
campaigns = my_user_account.get_ad_campaigns(fields=fields)
I get something that looks like:
{
"data": [
{
"objective": "NONE",
"name": "name1",
"id": "1234"
},
{
"objective": "NONE",
"name": "name2",
"id": "567"
},
I'd like to be able to only get campaigns with that particular objective. Is there a way to do this? I read through the Ads documentation but didn't see anything.
It's not documented as far I've seen but the FB Ads Manager UI allows such filtering which also happens to work in external Graph API calls.
Make a call to the API with a filtering parameter like so:
filtering=[
{
"field":"<FIELD>",
"operator":"IN",
"value":[
"<VALUE>"
]
}
]
For example, your request would be:
/act_myaccountid/adcampaign_groups?fields=objective,name&filtering=[{"field":"objective","operator":"IN","value":["WEBSITE_CLICKS"]}]

How to get Facebook page links + like count for each?

How do I get the links posted in a Facebook page AND the # of likes that link got without making extra calls?
Right now I am making this call, and it gives me all the posts that are links, posted in a Facebook page. How do I get the like count for each post? I simply want to know how many people liked that post.
https://graph.facebook.com/#{facebookId}/links?access_token=TOKEN&limit=20
To get the likes count for each post that is a link, the following query:
https://graph.facebook.com/#{facebookId}/links?fields=likes.limit(1).summary(true)&access_token=TOKEN&limit=20
gives you a response like this:
{
"data": [
{
"id":
"created_time:"
"likes": {
...
"summary": {
"total_count": 23
}
}
},
{
...
}
]
}
The total_count value is what you want.

Facebook Graph API. How to get likes for comment?

I need to get ids of people who liked some comment.
For example, I have the post with id 246595548763188_464132103676197 , and this post has comment with id 464146663674741.
Then, I use Graph Api Explorer (https://developers.facebook.com/tools/explorer/)
Permissions: user_groups
Graph API URL: https://graph.facebook.com/464146663674741
Result:
{
"id": "464146663674741",
"from": {
"name": "Rostyslav Paranko",
"id": "100001288191932"
},
"message": "Українську мову доконають пуристи.",
"can_remove": false,
"created_time": "2013-06-03T19:10:57+0000",
"like_count": 8,
"user_likes": false
}
As you can see, like_count has value 8, but I can't see people who liked this comment (with ids and names). https://graph.facebook.com/464146663674741/likes returns empty array.
So, is it possible to get comment's likes using Graph API (or, maybe, FQL Query)?
Get the comment ID and make this Graph API request:
https://graph.facebook.com/COMMENT_ID?fields=likes
The comment ID is in fact the concatenation of:
the POST_ID (246595548763188_464132103676197),
the COMMENT_ID (464146663674741),
which would give in your case: 246595548763188_464132103676197_464146663674741.
So, this should work:
graph.facebook.com/246595548763188_464132103676197_464146663674741?fields=likes