Alex Rivera | Logout

facebook graph api..get friends of friends

Asked 2011-04-17T04:07:17.703
13

I am using the FB graph api to get a list of my friends' friends using:

https://graph.facebook.com/<id>/friends?access_token=<token>

Now the weird thing is that this works for some of my friends and does not work for some others. Could somebody tell me why this is happening and a possible fix?

In cases where it does not work, I get the following message: "Can't lookup all friends of YYYYYY. Can only lookup for the logged in user (XXXXX), or friends of the logged in user with the appropriate permission"

And I repeat, I AM ABLE to get friend lists of some of my friends using the above URL. What permissions are being mentioned here?

Edit
Report

2 Answers

12

Privacy permissions.

As a user, I control who can see my friends list. If I select "Friends only" then only my friends can see my list, not "friends of friends"

Log into facebook, on the upper right click on Account -> Privacy settings, then Click on "View Settings" under "Connecting on Facebook"

"See your friends list" is what controls this.

Edit: Sorry, had to think about that for a minute.

You can see your friend's friends via the standard Facebook web UI. Your app is not you. Even though you've granted the app access to your account, your friends have not. In that case, you're not going to get back your friend's friends unless they have it set to "Everyone". Your app is not a friend of a friend.

I believe that's the reason. The other reason could be that their API is renown for being buggy. You could always open a bug report on http://bugs.developers.facebook.net/ and if my supposition is correct, someone will let you know.

answered 2011-04-17T04:22:48.913
8

I got friends of friends(limited). I had same problem. Though it is very late for answering question, it will help somebody. That's why answering this question.

We can get friends of friends those are app users. Try by this fql query.

$fb_id= user id whose friends of friends required.

$query="SELECT uid, name, work_history  FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 IN (SELECT uid FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $fb_id ) and is_app_user=1) )";
        $user_info=$facebook->api(array('method'=>'fql.query',
                    'query'=>$query));
answered 2012-02-25T12:18:59.010

Your Answer