Cómo obtener correo electrónico de usuario en GraphRequest.newMeRequest

Tengo una opción de inicio de sesión de Facebook en mi aplicación de Android y estoy tratando de obtener el correo electrónico del usuario sin éxito. Una vez que el usuario ha iniciado sesión y agregado a la tabla de usuarios de Parse.com (con un token de acceso válido), solicito la información de usuario de Facebook, pero solo obtengo su nombre de identificación (aunque el correo electrónico esté configurado como uno de los permisos ).

Aquí está mi código (dentro de OnClickListener de mi botón):

ParseFacebookUtils.logInWithReadPermissionsInBackground( getActivity(), Arrays.asList("email", "user_friends"), new LogInCallback() { @Override 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 { GraphRequest.newMeRequest( AccessToken.getCurrentAccessToken(), new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted(JSONObject user, GraphResponse response) { Log.d(TAG, "user = " + user.toString()); //prints -> user = {"name":"my_fb_name","id":"my_fb_id"} } } ).executeAsync(); } }); 

Supongo que esto está relacionado con un cambio en la API de Graph v2.4 que hace necesario que especifique cada campo que desea que haya regresado de la Graph API.

Echa un vistazo a mi respuesta en

  • Facebook sólo devuelve el nombre y el ID de usuario

con respecto a este

Con respecto a su problema real, vea

Para un ejemplo de cómo especificar los campos para un GraphRequest

 GraphRequest request = GraphRequest.newMeRequest( accessToken, new GraphRequest.GraphJSONObjectCallback() { @Override public void onCompleted( JSONObject object, GraphResponse response) { // Application code } }); Bundle parameters = new Bundle(); parameters.putString("fields", "id,name,email"); request.setParameters(parameters); request.executeAsync(); 
  • Error al usar Parse SDK para tesiting PUSH Notificaciones-Varios archivos dex definen Lcom / parse / FacebookAuthenticationProvider $ 1
  • Analizar: enviar notificaciones push desde la aplicación
  • ¿Cómo subir la imagen a Parse en android?
  • Cómo guardar notificaciones push de analizar por SharedPreferences
  • Analizar el código de error de respuesta incorrecto del servidor json 100
  • ¿Qué sucede si falla el servicio de datos de la nube de Parse?
  • Crear nuevo ParseUser usando Google+ AccessToken devuelve InvalidSession?
  • Parse crash en la creación de usuario
  • No se puede resolver com.parse.ParseQueryAdapter
  • Analizar: Recibe devolución de llamada cuando se completa el registro de GCM
  • Obfuscation del código de Android. Quiero ocultar las claves de Parse.com
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.