Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Facebook Graph API - get friends info

I'm trying to figure out how to get users friends information using either Graph API or FQL

Just for testing I would like to get my friends education_histroy.

To do that I created a test app, requested extended permissions using

scope=offline_access,manage_friendlists,friends_work_history,
      friends_education_history,friends_about_me

and got access token to play with the API.

It works great when I query for current user using /me. But it returns nothing for my friends.

I was assuming that if I request, let's say friends_work_history, that extra field (work_history) will appear inside friend's object, when I query by friend's id:

https://graph.facebook.com/FRIEND_ID&access_token=TOKEN

But all I see is basic info about that user (friend).

Then I tried to request that field specifically:

https://graph.facebook.com/FRIEND_ID?fields=work&access_token=TOKEN

With no luck again. Returns just friend's id..

I tried to access that information with FQL:

https://api.facebook.com/method/fql.query?query=select+work_history+from+user+where+uid+in+(FRIEND_ID)&access_token=TOKEN

Returns work_history = TRUE instead of array. And that friend definitely has work history specified.

Can someone help me to understand how to get friends info using my app and extended permissions?

like image 889
gansbrest Avatar asked Apr 01 '11 17:04

gansbrest


People also ask

What data can I get from Facebook Graph API?

The Graph API is the primary way to get data into and out of the Facebook platform. It's an HTTP-based API that apps can use to programmatically query data, post new stories, manage ads, upload photos, and perform a wide variety of other tasks.

How do I use Facebook Graph API and extract data?

To use the Graph API Explorer tool, go to developers.facebook.com/tools/explorer. Generate the access token you need to extract data from the Facebook Graph API by selecting Get User Access Token from the App Token drop-down menu under the name of your app.

Is Facebook Graph API deprecated?

Graph API Version Deprecations: August 3, 2021: Graph API v3. 3 will be deprecated and removed from the platform. November 2, 2021: Graph API v4. 0 will be deprecated and removed from the platform.

How do I get Facebook Page Insights on graph API?

You can access Page Insights by typing /insights after the name of your page in the URL field. This command will retrieve all of the Insights associated with your Page. Type "/insights" after your company name. Click the Submit button.


2 Answers

Graph API is the smart choice in most cases. To retrieve your friend information you need to collect some extended permissions from the user first. Then you can retrieve a lot more information other than the basic ones.

Following is a list of extended permissions related to friends different kind of information

friends_about_me        
friends_activities      
friends_birthday
friends_checkins        
friends_education_history       
friends_events
friends_games_activity      
friends_groups      
friends_hometown
friends_interests       
friends_likes       
friends_location
friends_notes       
friends_online_presence     
friends_photo_video_tags 
friends_photos      
friends_relationship_details        
friends_relationships
friends_religion_politics       
friends_status      
friends_subscriptions
friends_videos      
friends_website     
friends_work_history

Hope it helps :)

like image 72
Hasin Hayder Avatar answered Sep 28 '22 09:09

Hasin Hayder


I've been wrestling with this all day myself and I believe I have figured it out, nowhere in facebook documentation (that I have found) is this clear. And I don't believe the other answers actually answered your question, it looks like you requested permissions correctly. Anyway, to request the information you are looking for, ping the api like this:

https://graph.facebook.com/userid/friends?fields=work&access_token=ACCESSTOKENHERE

This will return you all the friends' info in one long JSON response.

It is a little confusing because the permissions you are asking for are not the same thing you need to query the API.

The query above will return the friends' ids with work history. You can add commas to the fields parameter to include additional info like name, but then the API calls/responses end up taking a long time.

like image 20
Brandon Denham Avatar answered Sep 28 '22 07:09

Brandon Denham