0
votes

In my canvas app, I make a call to https://graph.facebook.com/<fbid> and the return value is, as expected, in the following format:

{
  "id": "123456789",
  "name": "John Doe",
  "first_name": "John",
  "last_name": "Doe",
  "link": "https://www.facebook.com/johndoe",
  "username": "johndoe",
  "gender": "male",
  "timezone": 1,
  "locale": "en_US",
  "verified": true,
  "updated_time": "2012-03-02T12:13:41+0000",
  "type": "user"
}

The problem is, for some users the link field is missing. I've looked around the developer docs but couldn't find any reason why it would be missing. Any help is appreciated.

Edit: Well, I've spent the last 2 hours looking through the docs and googling. Nothing, nobody seems to be having this problem. Any ideas what I might be doing wrong here?

2

2 Answers

2
votes

This depends on user privacy settings.

This is what I experienced.

For my account once I tried 'https://graph.facebook.com/' in the response 'link' field was there.

Then I changed following setting in my account privacy settings

  • Who can look up your timeline by name or contact info? changed from 'everyone' to 'friends of friends'

Then I tried 'https://graph.facebook.com/' and 'link' field was not in the response.

Then again I changed mentioned privacy setting to 'everyone'. But even after that I'm still not receiving 'link' field in the response.

Best way to overcome this issue is ask the user to give access for your application with appropriate privileges.

2
votes

Until yesterday I did receive the link field in the response from graph.facebook.com. I even provide my access_token (which is required if you want to access e.g. age restricted pages), but the link field is not there any more.

Just noticed that there are et least two bugs recored for this issue: https://developers.facebook.com/bugs/311519178916638 and https://developers.facebook.com/bugs/216662558444277