How to get user email on GraphRequest.newMeRequest

I have a Facebook login option in my Android app and I am trying to get the user's email unsuccessfully. After the user is logged in, and added to the User table (with a valid access token), I request the Facebook user info, but only get it's id and name (even though the email is set as one of the permissions).

Here's my code (inside OnClickListener of my button):

    getActivity(), Arrays.asList("email", "user_friends"), new LogInCallback() {
        public void done(ParseUser user, ParseException err) {
            //err is null

            if (user == null) {
                Log.d(TAG, "Uh oh. The user cancelled the Facebook login.");
            } else {
                    new GraphRequest.GraphJSONObjectCallback() {
                        public void onCompleted(JSONObject user, GraphResponse response) {

                            Log.d(TAG, "user = " + user.toString());
                            //prints -> user = {"name":"my_fb_name","id":"my_fb_id"}


I guess this is related to a change in the Graph API v2.4 which makes it necessary that you specify every field you want to have returned from the Graph API.

Have a look at my answer at

regarding this

Concerning your actual problem, see

for an example on how to specify the fields for a GraphRequest

GraphRequest request = GraphRequest.newMeRequest(
        new GraphRequest.GraphJSONObjectCallback() {
            public void onCompleted(
                   JSONObject object,
                   GraphResponse response) {
                // Application code
Bundle parameters = new Bundle();
parameters.putString("fields", "id,name,email");

Need Your Help

Access resource files in Android

java android file resources

I have a resource file in my /res/raw/ folder (/res/raw/textfile.txt) which I am trying to read from my android app for processing.