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.
- Mientras que ParseLoginUI que carga el hilandero está trabajando la actividad es visible en el fondo
- Java.lang.UnsupportedOperationException: Session: se realizó un intento de solicitar nuevos permisos para una sesión que tiene una solicitud pendiente
- Obtener enlace a mi aplicación en play.google antes de publicar mi aplicación
- Hacer que el inicio de sesión en facebook funcione con una vista Web de Android
- Clics de Facebook SDK 4.7.0 ClassNotFoundException para AppEventsLogger
¿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
- Cómo iniciar sesión en facebook en WebView si ya tiene acceso token de FB SDK en Android
- Uso de Facebook para registrar un nuevo usuario en la aplicación para Android
- Necesito la dirección de correo electrónico del usuario después de un inicio de sesión con éxito en facebook en android con SDK 4.0
- Compilación de error en "Usar el ejemplo de inicio de sesión de Facebook"
- comparte la imagen de la aplicación de androide con la acción envía con intención no es trabajo :(
- La importación de Facebook SDK a Eclipse no puede resolver las importaciones de java / Android
- Configuración de Android Facebook SDK en Eclipse
- Android: ¿Cuál es la clase de diálogo compartido en Facebook SDK 4.x
¿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
- Camera.getNumberOfCameras () no funciona en Android 2.2
- ¿Cómo usar Espresso UI Testing for React Native?