So I create an App. I get an access_token, specifying "pages_read_engagement". For good measure, using my app-id and app-secret, I get a long term token. I then make a simple request
curl -i -X GET "https://graph.facebook.com/v20.0/100057751132253?access_token=REDACTED"
and I get the response
{"error":{"message":"Unsupported get request. Object with ID '100057751132253' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api","type":"GraphMethodException","code":100,"error_subcode":33,"fbtrace_id":"AGSkkLP2xPncRE9SS4nAMZT"}}
Now I happen to know that 100057751132253 resolves to KevinMichelMLA, a state-level politician in the Australian state of Western Australia. As far as I can tell, his profile is public. And I have at least one of the required permissions. What else am I missing?
2
Answers
For public information, you typically don’t need an access token. However, if the information is behind certain privacy settings, you might need specific permissions. Here are some permissions you might consider:
public_profile
: Access the public profile of a user.pages_read_engagement
: Read content from pages you manage.Debugging Steps
This is a page, not a user profile.
Apps do not get access to pages the user has no admin access to any more, even if they are public – unless the app gets the Page Public Content Access feature approved by Facebook.