Reputation: 41
I'm trying to get the pages that my friends like using this FQL multiquery:
{
"query1": "SELECT uid2 FROM friend WHERE uid1 = me()",
"query2": "SELECT uid, page_id, type FROM page_fan WHERE uid IN (SELECT uid2 FROM #query1)",
"query3": "SELECT page_id, name, categories, type, page_url, pic_big FROM page WHERE page_id IN (SELECT page_id FROM #query2)"
}
The query works fine and returns results. However, it returns around 2940 pages for 260 people, which is way less than the sum of the actual like count for the people queried.
I considered it could be a permission problem and asked for one of the people on this list to remove "access likes, interests..." permissions for friends' applications. On the next run, her pages and likes weren't on the JSON returned, but the page count actually increased some 10 or 20 records.
Am I doing something wrong here? I'm using multiquery for performance reasons.
This occurs both using the Graph API explorer and the PHP SDK:
$fql = urlencode($fqlQuery);
$response = $facebook->api("/fql?q={$fql}");
Any thoughts on this problem?
Thanks in advance :)
Upvotes: 4
Views: 1272
Reputation: 48006
There is an additional privacy feature on Facebook that might be limiting the results you receive from certain people.
The setting is in the privacy settings and its called - How people bring your info to apps they use
It also gives a short description -
People who can see your info can bring it with them when they use apps. Use this setting to control the categories of information people can bring with them.
One of the options within that settings is "Activities, interests, things I like"
. For my profile this option is set to off. So no matter what permissions an application gets from a friend of mine, that application will not be able to see my "Likes".
My suspicion is that some of your (wiser) users have this setting disabled as I do, and it is preventing your application from getting to that information.
As an aside, I think this setting is crucial for real privacy on a Social Network. Just because my friends can see what pages I like, doesn't mean I want any application they use to also be able to see that info.
Upvotes: 3