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.

8 Solutions collect form web for “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”

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 eliminar la foto cargada de la pared de facebook de la aplicación
  • Invitar solicitud de amigo con el nuevo SDK de Android 3.0
  • ClassNotFoundException para com.facebook.FacebookActivity
  • No se puede ejecutar dex: varios archivos dex definen Lcom / facebook / android / AsyncFacebookRunner $ 1;
  • La aplicación se bloquea después del primer inicio de sesión en Facebook
  • Android - Facebook SDK login -> cerrar sesión -> inicio de sesión no funciona
  • FacebookSdk.sdkInitialize (Context) está obsoleto
  • Error de Facebook en Android "Error de inicio de sesión: com.facebook.android.DialogError: La conexión con el servidor no tuvo éxito"
  • Facebook SDK para Android - establecer el ID de la aplicación mediante programación
  • Autenticar usuario móvil contra SDK de Facebook, realizar solicitudes desde la aplicación de servidor
  • Facebook AppInviteContent: El SDK no se ha inicializado, asegúrese de llamar a FacebookSdk.sdkInitialize () primero
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.