Graph api paging is wrong... Why? - facebook-graph-api

I'm building a facebook albums/photos browser.
The facebook api provides a cool paging system that is supposed to avoid us to build it.
However it doesn't seem to work properly...
Have a look at this query:
http://developers.facebook.com/tools/explorer/?method=GET&path=me%2Falbums
It returns all albums for the current user. However, it displays a previous and next paging although there are albums only on the next page (previous page is empty...)
Any idea why is this happening ?
Thanks

Facebook usually doesn't bother determining if there is data in the next or previous query. It just automatically builds the url for you based on what the current query is.
A common sight in FB development:
{
"data": [
]
}
It's up to you to decode the response and see if it is an empty array. In this case, you are on the first page, so you should expect the Previous link to return an empty dataset.

Related

Facebook can't get video likes count

I'm trying to get number of likes on videos. So I go like
https://graph.facebook.com/v4.0/{video_id}/likes?access_token={token}.
However I always get back empty data even if video has at least some likes.
I've created a token with following permissions: scope="public_profile,email,user_videos,manage_pages,user_likes".
The last thing to mention is that the video is posted by user page. I've also tested the same thing on Graph API Explorer and it doesn't even work there.
I for example can get comments on the same video...
The individual likes are likely not available to your app due to privacy concerns (the liking user would probably have to grant your app access to access their made likes first)
But since you are only interested in the overall number, asking for the summary should do it:
/{video_id}/likes?summary=1
or when using field expansion syntax,
/{video_id}?fields=likes.summary(1)

extracting data from facebook using graph api

how can i extract name list && phone numbers of the users liking certain page ?
I have tried using software called facepager but i couldn't extract names .
note:I'm not the owner of the page
You'd most likely have to write code yourself to do something like this. However,
Almost no-one publicly shares their phone number.
Facebook try to prevent this kind of data collection.
Even when facebook list's "likers" of a page, it'll wait till you scroll down to load more. You'd have to play with your browsers debug tools and look into where it get's that data from
https://www.facebook.com/search/<group id here>/likers
In the end you'll probably not get much better than just searching for the page and clicking each person's profile because the site is designed to not let what you're trying to do happen...

Facebook Graph Pagination loses query on future pages

Let's say I want to search for McDonalds in a certain location using Facebook's graph API, like so. Now, since I know that Facebook won't always give me back all the results I want on the first page, or even the number of results I asked for, I follow the pagination link. This is the one I was given. Now, this second page loses the query string, and returns a bunch of results near the search location, but having nothing at all to do with McDonalds (e.g. Tufenkian Artisan Carpets Chicago). How can I tell when I have no more applicable results, if the pagination drops my original query entirely?
It looks like removing the limit parameter causes pagination to correctly have the query on future pages: see the same search without the limit parameter.

Does anyone else get empty search results when using Facebook Graph API Public Search?

Could someone do me a flavour and let me know if you also get back an empty json array when you click on the sample user search url on the Facebook Graph Api docs page.
Here is the page http://developers.facebook.com/docs/reference/api/
It is in the search section. the people link.
Here is the link I am clicking and all other search links return data except the user search.
This is what I get back
My question is do other people have this problem as well or is it just me.
My suspicion is that it has to do with the way Facebook filters by privacy after they've selected your results. Meaning graph asks for (X) results, Facebook finds (X) results that match your search, then removes those who have it in their privacy options not me be searched, and then after filtering returns what's left. This is explained on Facebook's dev blog: https://developers.facebook.com/blog/post/478/
See the following answer for clearer details: https://stackoverflow.com/a/11848002/624590
That said, it could be something else - I've noticed it's been getting especially bad in recent weeks; fewer and fewer results seem to be returned.
We've been getting empty results for type=post for periods of 1-2 hours for the past few days. I'm sure it's related to something on their end, check out my bug post here http://developers.facebook.com/bugs/456910301017301?browse=search_509b0461dc68c0151458645

facebook graph api limit parameter

I am writing an application that needs to retrieve all posts on any given facebook page. For the McDonald's page, I would use this url:
https://graph.facebook.com/McDonalds/posts?access_token=xxx&limit=5000
The problem is that first, I do not receive any posts older than 2011-11-01 and the number of posts shown is much less than 5000. This means that the limit parameter isn't working properly. I looked this up and found that it was a known bug.
Then I tried to follow the next and previous paging information provided in the end and even using that I can't get past 2011-01-24. After following the next link 2 times, an empty page comes up. The McDonalds page is much older and contains more posts. So the question is, how on earth am I supposed to retrieve older posts. Is there any workaround at all?
There is a limit on the limit. Try using since & until to extend the date params
https://graph.facebook.com/McDonalds/posts?access_token=xxx&limit=5000&since=2+years+ago&until=now
&limit=5000&since=2+years+ago&until=now
&limit=5000&since=3+years+ago&until=now