Facebook Graph API get likes/reactions - facebook-graph-api

I'm trying to fetch some data from page posts on Facebook with the Graph API. I'm using Python normally but I try the queries first with the Exploration tool offered by Facebook.
I used the page_id + post_id to get the number of reactions (I would also like to get the count for each different reaction) and likes. But it just returns nothing. I get the data for the shares though. I have the post open on another tab and it has likes and reactions.
Don't know what I'm doing wrong.

Related

how to get reactions on outsite ad by ad-id using facebook-api

The Facebook Ads Archive allows to get some meta data by selected ads (not my own ads). But is there a way to get the reactions (like/share/comment-Count) of this ads? I was focusing on https://developers.facebook.com/docs/marketing-api/reference/adgroup/v14.0/#read-ad to get the post id and in next step get meta data of post. Turns out it looks like a blind end. I cant get the post-id of outsite ads. Is there a way over facebook api? If not is there a way to get a ui page to get the with reactions depending on the ad-id?

Facebook API Returns Empty Table When Trying to View Likes on a Page Post

I'm trying to gather all people who liked a certain post on a Facebook page.
This is what I use
https://graph.facebook.com/1421518438141373_1561986067427942/likes?limit=200000&access_token=My_Access_Token
However it returns an empty JSON table.
Also the number of the likes on the post is pretty huge, around 200K. Any idea how to avoid pagination and got all of the info at once?

How to get Facebook page posts count on Android using Facebook SDK

I am building an app, which lists all posts from a Page(that I manage and post to) and also gets corresponding posts view count. I looked into the documentation and it seems like the page needs a minimum of 30 Likes for insights API to work. Is this correct? Is there a way I can get the view count?
Here is the output from Graph Explorer. I have set the access token to Page Access token.
I am passing the Post_ID to HTTP GET. I can see directly from Facebook that the post has reached N number of people. But the returned data from the API call is empty. Any help?

How To Get Historical "Facebook Page Likes" Data via Graph API or FQL

Was wondering if anyone knows how to get the historical data for any Facebook Page.
For example, number of fans for RedBull fan page on a given day in the past or for a given period that ends today so that I can show fan development of any page over a given period.
I tried it with the graph API and FQL (insights) but no luck.
https://graph.facebook.com/{USERNAME}/insights?fields=likes&period('week')&end_time_date('2011-06-26') --> empty result
Pulling the data via FQL also returns no results, plus it seems without a read_insights permission nothing is possible for page data
I'd need this to be available with only a generic user access token. This data is publicly available anyway. Result should be somewhat like this: http://www.socialbakers.com/facebook-pages/australia/
https://graph.facebook.com/{{pagename}}/insights/page_views?access_token={{access_token_key}}&since=1420070400&until=1421625600
Since & until parameter in the above code takes in unix time.
add necessary information in the {{ }} and this code should work.
Without insight permission I recommend that you write something to perform a nightly query on the page graph and record the stats you need. If the page is public most of the information shown on that site is available.
You could also scrape info from http://pagedata.appdata.com if the page has already been listed...

Get Facebook "Like" count for every page on my domain

I have integrated the Facebook "Like" button into a lot of pages in my site. I want to display the most "Liked" pages on my site in a list, but I can't figure out how to get that data from Facebook in one request. So far, I have been able to get the "Like" count for individual pages using the following FQL query:
SELECT share_count, like_count, comment_count, total_count
FROM link_stat
WHERE url="http://www.mysite.com/some-page"
However, getting the count for each page on my site one at a time is not really feasible. Aside from having a large number of pages, new pages are being created constantly (new user profiles, new blogs and blog articles, etc), which would make getting complete statistics for my site a complicated process and would involve calling Facebook's API thousands of times.
Is there a way to get a count of how many times each page on my domain has been "Liked" in one request? Or just the top 10 most "Liked" pages, or something similar?
Actually I would do it this way:
$arrayOfPages = array('url1', 'url2', 'url3');
$listOfPages = implode(',', $arrayOfPages);
SELECT share_count, like_count, comment_count, total_count, url
FROM link_stat
WHERE url IN ($listOfPages)
That would give you all the data with the URL as a unique identifier without having to break Facebook's policy against fake users. You can dynamically create the $arrayOfPages variable from a query on your site's database.
In continuation to Salil's answer, here are the some of the major APIs sharedcount.com are using (full list here: http://sharedcount.com/documentation.php)
You can use sharedcount's API to get a general summary, or write something yourself using the APIs:
Facebook: http://api.ak.facebook.com/restserver.php?v=1.0&method=links.getStats&urls=%%URL%%&format=json
Twitter: http://urls.api.twitter.com/1/urls/count.json?url=%%URL%%&callback=twttr.receiveCount
Google +1 +1 counts are retrieved via a JSON-RPC POST call that requires an API key (To get a google API key - https://developers.google.com/+/api/oauth#apikey):
POST URL:
https://clients6.google.com/rpc?key=%%API-KEY%%
POST Body:
[{"method":"pos.plusones.get","id":"p","params":{"nolog":true,"id":"%%URL%%","source":"widget","userId":"#viewer","groupId":"#self"},"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]
It will be difficult to get FB likes for all your pages in one query, but you can get individual share count for every page of your site. Apart from the share count you can also get the breakup of numbers for individual social network for which your site page is shared. Insert you domain name at http://sharedcount.com/?url=http%3A%2F%2Fwww.parasitech.net%2F with appropriate suggestions provided to you. You can get numbers for Facebook, Twitter, Google+, Diggs, Linkedin, Google Buzz, Delicious and StumbleUpon.
Apparently there's no 'LIKE' in FQL. Which was my first suggestion..
Though you can use the "IN" operator, like so:
SELECT share_count, like_count, comment_count, total_count
FROM link_stat
WHERE "http://www.mysite.com/" IN url
ORDER BY like_count
LIMIT 10;
1) create a fake user on fb which will likes only pages from your domain or some other way to save your urls in fb with possibility to get them by FQL later
2) query:
SELECT share_count, like_count, comment_count, total_count
FROM link_stat WHERE url in (SELECT object_id FROM like WHERE user_id="fake_user_id")
3) don`t forget about decrement on 1 each like count ;), sort and show
Maybe you can just query the number of likes for each page each time the page is viewed. This won't be precise, but keeping in mind that the most popular pages will be viewed more often it might be good enough.
Additionally, you can use a batch process to query the number of likes of all the page or at least the top N last created ones every couple of hours. Most of the time you won't get the correct result, but in most cases your users don't need the correct result but a good enough approximation.
If you just need the count from every page, Super Social Media Tracker could provide that.
http://apps.microsoft.com/windows/en-US/app/super-social-media-tracker/a56c8971-42e2-4eb4-9b05-7e52233b4e1e
But it's slow for massive pages.
After some looking around, we may be better off using FQL with graph API:
http://graph.facebook.com/fql?q=select%20comment_count%2C%20share_count%2C%20like_count%20from%20link_stat%20where%20url%20%3D%20%22http%3A%2F%2Fmashable.com%2F2013%2F01%2F30%2Ffacebook-twitter-blackberry-10%2F%22
Results are
{
"data": [
{
"comment_count": 3,
"share_count": 91,
"like_count": 5
}
]
}