According to the documentation for Facebook :
By default, not all fields in a node or edge are returned when you make a request. You can select the fields (or edges) that you want to return with the "fields" query parameter. It is really useful for making your API more efficient and faster.
This is true from v2.4 (previous versions extracted some fields by default).
When registering a new application, you have the right automatically (without manual viewing) to three permissions: email, public_profile and user_friends. In your code, "email" is in scope (which is good), so just change your request to:
https://graph.facebook.com/me?access_token=xxx&fields=email
You probably need the public_profile fields that you automatically received in previous versions of the API. Do so, add "public_profile" to your scope:
https://www.facebook.com/dialog/oauth? client_id=xxx& redirect_uri=https://www.facebook.com/connect/login_success.html& scope=email,public_profile
And now add the user fields to your query:
https://graph.facebook.com/me?access_token=xxx&fields=first_name,last_name,gender,email,timezone,age_range,verified
Good luck.
Paldev
source share