Cómo obtener el ID de usuario de FB mediante el botón de inicio de sesión de Facebook en la aplicación de Android

Estoy desarrollando una aplicación en la que estoy usando el botón de inicio de sesión de Facebook de SDK. Soy capaz de obtener access_token del usuario, pero también quiero userID . He intentado casi todo, pero no ha tenido éxito. He utilizado tutorial de Facebook para lograr eso. Aquí está el enlace: Botón de inicio de sesión de Facebook

Por favor, ayúdame a obtener userID de usuario desde el mismo botón de inicio de sesión.

Cualquier tipo de ayuda será apreciada.

Después de iniciar sesión con éxito, debe llamar al siguiente código. Puede obtener los detalles de usuario con la identificación en respuesta.

 Session session = Session.getActiveSession(); Request request = Request.newGraphPathRequest(session, "me", null); com.facebook.Response response = Request.executeAndWait(request) 

Utilice el método getId de la clase FB Profile (Facebook SDK 4.0).

  Profile profile = Profile.getCurrentProfile(); System.out.println(profile.getFirstName()); System.out.println(profile.getId()); 
 loginResult.getAccessToken().getUserId() 
 you should be used new facebook sdk 3.0 and @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); if (Session.getActiveSession().isOpened()) { // Request user data and show the results Request.executeMeRequestAsync(Session.getActiveSession(), new Request.GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { // TODO Auto-generated method stub if (user != null) { // Display the parsed user info Log.v(TAG, "Response : " + response); Log.v(TAG, "UserID : " + user.getId()); Log.v(TAG, "User FirstName : " + user.getFirstName()); } } }); } } 

Basado en la respuesta de @ Ketan Mehta ( https://stackoverflow.com/a/17397931/624109 ) que utiliza una API obsoleta, debe utilizar el código siguiente:

 @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data); if (Session.getActiveSession().isOpened()) { // Request user data and show the results Request.newMeRequest(Session.getActiveSession(), new GraphUserCallback() { @Override public void onCompleted(GraphUser user, Response response) { if (null != user) { // Display the parsed user info Log.v(TAG, "Response : " + response); Log.v(TAG, "UserID : " + user.getId()); Log.v(TAG, "User FirstName : " + user.getFirstName()); } } }).executeAsync(); } } 

Como todas estas respuestas son para SDK antiguo, para SDK 4.0 aquí está el código

 loginButton.registerCallback(callbackManager, new FacebookCallback<LoginResult>() { @Override public void onSuccess(LoginResult loginResult) { // App code Profile profile = Profile.getCurrentProfile(); Log.d("facebook",profile.getId()); } @Override public void onCancel() { // App code Log.d("facebook","failed"); } @Override public void onError(FacebookException exception) { // App code Log.d("facebook","failed"); } }); 

Estaba buscando la misma cosa parece que el objeto de sesión no es más accesible por lo que es la nueva forma de obtener el perfil de usuario y el ID de usuario.

La API de gráficos de Facebook le permite realizar llamadas que devuelven JSON, que puede analizar en Android con un objeto JSONObject como éste debajo del código.

 JSONObject me = new JSONObject(fb.request("me")); String id = me.getString("id"); 

Puede obtener el ID de usuario con este código:

 document.getElementById('status').innerHTML = 'Welcome ' + response.name + '!' + "<br />"+ 'Your user ID is : ' + response.id; 
  • Cómo utilizar Facebook SDK con android.app.Fragment
  • Facebook Audience Network Ad Sdk dependencia dando error de tiempo de ejecución en la aplicación para Android
  • Android - Facebook SDK 3 - Cómo iniciar sesión mediante programación sin LoginButton
  • Moviendo la carpeta de instalación de SDK de Android
  • LoginButton con Fragmento nativo
  • Compartir texto en facebook con la intención de compartir de Android
  • Clics de Facebook SDK 4.7.0 ClassNotFoundException para AppEventsLogger
  • Android ClassNotFound y android.view.InflateException:
  • El hash de clave de Facebook no coincide con ningún hash de clave almacenado
  • Excepción inesperada de nivel superior en android-support-v4.jar
  • Obtener el permiso de publish_action después de obtener permisos de lectura de Facebook
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.