Cómo recuperar un Facebook-AuthToken de las cuentas guardadas en Android

Estoy tratando de recuperar el AuthToken para Facebook (guardado por Facebook para Android ) mediante el siguiente código.

AccountManager am = AccountManager.get(this); Account[] accounts = am.getAccountsByType("com.facebook.auth.login"); if (accounts.length > 0) { for(int j = 0; j < accounts.length; j++) { Account account = accounts[j]; if(account.type != null && account.type.equals("com.facebook.auth.login")) { Log.e(RuntimeVars.MY_NAME, "FACEBOOK-TYPE FOUND"); am.getAuthToken(account, "com.facebook.auth.login", null, ConversationList.this, new AccountManagerCallback<Bundle>() { public void run(AccountManagerFuture<Bundle> arg0) { try { Bundle b = arg0.getResult(); Log.e(RuntimeVars.MY_NAME, "THIS AUTHTOKEN: " + b.getString(AccountManager.KEY_AUTHTOKEN)); } catch (Exception e) { Log.e(RuntimeVars.MY_NAME, "EXCEPTION@AUTHTOKEN"); } } }, null); } } } 

Las credenciales de inicio de sesión se encuentran y FACEBOOK-TYPE FOUND está escrito en LogCat, pero NO ESTA AUTHTOKEN: […] ni EXCEPTION @ AUTHTOKEN se registra. Así que supongo que am.getAuthToken nunca se llama.

¿Qué me estoy perdiendo?

En general, si hay un enfoque mejor (y al menos de trabajo) para recuperar el authtoken de Facebook de las cuentas de Android, házmelo saber.

¡Muchas gracias por tu ayuda!

Atentamente
S

¿Por qué no utilizar el SDK de Facebook?

La clase de Facebook en él tiene un miembro para obtener el token de acceso de OAuth 2.0 (si eso es lo que necesita), getAccessToken() .

Para explicar el hecho de que no se está alcanzando ninguna de sus declaraciones de registro, considere:

Línea ~ 8:

  am.getAuthToken(account, "com.facebook.auth.login", null, ConversationList.this, 

… puede devolver un token si está inmediatamente disponible. Tal vez esa es la respuesta que estás buscando? Citando la documentación de AccountManager:

Si se almacena en caché un token de autenticación previamente generado para esta cuenta y tipo, se devuelve. De lo contrario, si una contraseña guardada está disponible, se envía al servidor para generar un nuevo token de autenticación. De lo contrario, se le pedirá al usuario que introduzca una contraseña.

Intente llamar a AccountManager.blockingGetAuthToken en AccountManager.blockingGetAuthToken lugar. Si eso funciona, entonces hay algo más interesante en falta aquí …

Además, asegúrese de que su manifiesto tenga el permiso USE_CREDENTIALS establecido correctamente.

Add try {before am.getAuthToken y catch Exception donde termina esta declaración de método.Esto le dará por qué y dónde está ocurriendo excepption

  • Facebook anuncios nativos en reciclar view android
  • Android: Facebook 3.0 Publicar en la pared de los amigos usando la respuesta de solicitud de FQL (A partir de Apr23,2013)
  • ¿Hay alguna forma de obtener hash clave de APK firmado?
  • Autenticación de Facebook trabajando en Emulador, pero no en dispositivo físico
  • OAuthException al intentar publicar en la pared de amigos
  • Crear nuevo mensaje utilizando la API de gráfico de Facebook
  • Errores de red constantes para el diálogo de solicitud de Facebook en Galaxy Note
  • Keytool no pide contraseña (usando Facebook lib con android)
  • Facebook app no ​​funciona en genymotion emulator 2.0.1 incluso si google play está instalado
  • ProcessReleaseResources
  • App forcecloses en la actividad de inicio de Facebook
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.