heximal
heximal

Reputation: 10517

Facebook graph api returns no email

I'm calling

https://graph.facebook.com/<user_id>/?access_token=<valid_token>

or just

https://graph.facebook.com/me/?access_token=<valid_token>

and getting back json object that doesn't contain primary user email which I need. I setup email permission for the app and no effect. What can be wrong?

Upvotes: 10

Views: 8528

Answers (5)

elshnkhll
elshnkhll

Reputation: 2223

Since the release of API version 2.5 you can get user email like this: https://graph.facebook.com/v2.5/me?fields=id,name,email

Upvotes: 1

lex82
lex82

Reputation: 11317

It is possible that the email is not verified in facebook. In this case facebook doesn't make it available via the API. Make sure your code handles this case.

Upvotes: 3

user2615724
user2615724

Reputation: 302

I believe that your question is, even after granting permission to access email, you are not able to get email information through the Graph API. In newer versions, you need to pass fields param to the API to get additional information such as email. By default, it only provides id and name in response. Please find a sample below on how to get other info from graph :

https://graph.facebook.com/me?fields=id,email,first_name,gender,last_name,link,locale,name,timezone,updated_time,verified&access_token=<value of access_token>&debug=all

Hope this helps.

Upvotes: 3

Andreas Du Rietz
Andreas Du Rietz

Reputation: 1801

Did you remember to ask for the email permission in the login request? You do this by adding the scope parameter like this in the login request (&scope=email):

https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_REDIRECT_URI&state=SOME_ARBITRARY_BUT_UNIQUE_STRING&scope=email

Facebook API reference

Upvotes: 9

Aviram Segal
Aviram Segal

Reputation: 11120

You probably do not have email permissions in your access token.

You can verify it with the Acess Token Debugger

Upvotes: 7

Related Questions