Estoy creando una aplicación que tendrá soporte para Facebook. He descargado la API de Facebook y su muestra llamada "Hackbook" desde los repositorios originales de Git. El problema es con el inicio de sesión: si la aplicación FB original no está instalada en el teléfono, el inicio de sesión pasa por un diálogo personalizado y todo funciona, pero si la aplicación FB está instalada, el Hackbook redirige automáticamente a la aplicación FB original y luego no ocurre nada. Es imposible iniciar sesión. He probado esto en cinco teléfonos diferentes, y siempre fue el mismo problema.El inicio de sesión en la API de Facebook falla con la aplicación FB instalada en el teléfono
Respuesta
Tuve un problema similar. En mi caso, no había creado una clave hash con mi clave de firma. Acabo de tener una clave hash creada con la clave de firma predeterminada debug.keystore.
Tan pronto como creé una clave hash utilizando mi clave de firma de lanzamiento de la aplicación, ese problema se solucionó. Si aún no lo ha hecho, cree una nueva clave hash con su clave de firma (para cargarla en el mercado) y agréguela al panel de control de Facebook de su aplicación.
Espero que esto ayude.
He trabajado durante dos días & tengo la solución, por fin, este es el MAL manera de obtener la clave hash -
keytool -exportcert -alias *<your _alias_name>* -keystore *<key_store_path>* | [openssl_bin_directory]\openssl sha1 -binary | [openssl_bin_directory]\openssl base64
El manera correcta es escribir estas 3 líneas, una a un tiempo en cmd. Después de la primera línea, se le pedirá que inserte la contraseña del almacén de claves.
keytool -exportcert -alias *<your _alias_name>* -keystore *<key_store_path>* > [openssl_bin_directory]\debug.txt
[openssl_bin_directory]\openssl sha1 -binary [openssl_bin_directory]\debug.txt > [openssl_bin_directory]\debug_sha.txt
[openssl_bin_directory]\openssl base64 -in [openssl_bin_directory]\debug_sha.txt > [openssl_bin_directory]\debug_base64.txt
Si usted quiere saber más detalles, se describe el DERECHO camino aquí -
o aquí
CONSEGUIRLE clave hash utilizando esta función para ambos (depuración y versión apk) y póngalo en su aplicación en developer.facebook.com/a pps
private void calculateHashKey(String yourPackageName) {
try {
PackageInfo info = getPackageManager().getPackageInfo(
yourPackageName,
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:",
Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
esto me ayuda mucho .. Espero que esto le ayudará también ..
he fijado este problema. Después de obtener Key hash usando keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
, me he conectado por primera vez en modo de lanzamiento exitosamente ... Luego, por segunda vez, recibí el error común Tu clave "*********real*key************"
no coincide con las teclas permitidas especificadas en la configuración de tu aplicación.
Simplemente use el "*********real*key************"
que Facebook da en el mensaje de error Me conecté con éxito ahora en modo de lanzamiento. Así que asegúrese de ingresar esta clave con la misma clave. Las LETRAS I, small(L) i.e (l)
te harán tener problemas. Hice dos llaves, en la primera clave que utilicé small(L) i.e (l)
y en la segunda clave utilicé I. y las coloqué en la aplicación para desarrolladores.
Está trabajando ahora ...
Ese fue el problema exacto en mi caso ... ¡la única solución que funcionó! y la parte acerca de la pequeña 'L' es correcta, y también la Gran 'I' (que podría parecer una pequeña 'L' en algunas fuentes). –
En mi caso, el problema fue que el inicio de sesión del usuario se cancela cuando la aplicación de Facebook está instalada en el dispositivo incluso después de generar las teclas correctas.
Agregué la siguiente línea antes de iniciar sesión y funciona muy bien.
LoginManager.getInstance().logOut();
- 1. Facebook: Pantalla en blanco en el inicio de sesión FB
- 2. Autenticación falla con la aplicación de Facebook instalada (iOS)
- 3. Facebook API - La sesión aún existe después de que el usuario cierra la sesión
- 4. fb: botón de inicio de sesión personalizado?
- 5. La publicación de Android en Facebook no funciona cuando la aplicación de Facebook ya está instalada en el dispositivo
- 6. FB JS-SDK no puede detectar el inicio de sesión del usuario de FB directamente
- 7. Facebook Open Graph personalizar el botón de inicio de sesión fb
- 8. Facebook SDK 3.1 iOS: Gestionar el inicio de sesión si el usuario elimina la aplicación de la configuración de Facebook
- 9. Android WebView con el inicio de sesión de Facebook
- 10. Aplicación No instalada en su teléfono
- 11. Facebook API: Cómo publicar en la pared de aplicación propia sin iniciar sesión
- 12. Cómo confirmar el inicio de sesión de la aplicación de Facebook del lado del servidor
- 13. El diálogo de inicio de sesión en Facebook no funciona en el simulador iOS6
- 14. ¿Iniciar sesión con Facebook en la aplicación Spring MVC?
- 15. ¿Cómo configura Facebook las cookies con la llamada FB Init en la configuración "Facebook Connect"?
- 16. Publicar en la pared con Facebook API
- 17. ¿Cómo puedo forzar el inicio de sesión con la API de OAuth?
- 18. El parámetro de registro-url falla para fb: botón de inicio de sesión si oauth 2.0 está habilitado
- 19. iOS facebook compruebe si sus amigos tienen una aplicación instalada
- 20. Facebook inicio de sesión "URL dada no permitida por la configuración de la aplicación"
- 21. Inicio de sesión de estilo de Stackoverflow con la cuenta de Facebook
- 22. membresía asp .net 4.0 con inicio de sesión de Facebook
- 23. Obtener el APK de la aplicación instalada
- 24. Cómo verificar la aplicación instalada en el dispositivo iPhone
- 25. inicio de sesión de la aplicación Android
- 26. El inicio de sesión de xmpp falla después de la autenticación
- 27. Cerrar sesión con facebook
- 28. ¿Cómo abrir una página de Facebook en la aplicación de Facebook en el iPhone?
- 29. El inicio de sesión de Facebook arroja "Permiso denegado"
- 30. Idear: el inicio de sesión falla, ¿cómo depurarlo?
Agregué esa clave hash en el panel de control, pero el problema todavía está aquí. ¿Debo agregar la clave hash también en fb api? – virusss8
@ virusss8: No necesita agregar el hashkey en su aplicación. Sigue este paso y dime el resultado. Abra el archivo de la clase Util en su facebook-sdk y cambie el 'booleano estático privado ENABLE_LOG = falso' por 'verdadero'. Ahora mantenga su teléfono conectado a su PC de desarrollo y ejecute la aplicación creada utilizando el apk firmado e inicie sesión. Mantenga abierta una ventana de DDMS y vea si genera un error. –
D/Facebook-authorize (25124): Error de inicio de sesión: invalid_key: error de clave de Android. Su clave "********* real * key ************" no coincide con las claves permitidas especificadas en la configuración de su aplicación. Compruebe la configuración de su aplicación en http://www.facebook.com/developers pero nunca he configurado esa clave en ningún lado. ¿Qué clave es esa? – virusss8