android - the - El hash de la clave de Facebook no coincide con ninguna clave almacenada.
key hashes facebook android (14)
Realmente estoy teniendo problemas con la clave hash de Facebook. Lo generé en mi Eclipse .. prueba:
Luego fui a https://developers.facebook.com/ y registré una nueva aplicación.
Y finalmente he establecido mi hashkey en la configuración de los desarrolladores de Facebook:
Pero no hay nada que hacer. Sigo recibiendo el mismo registro de errores: "Key hash B5dWUEYfZJL / ........... jyA = no coincide con ningún hash de claves almacenadas"
¿Alguien sabe lo que hice mal o cómo puedo solucionar este problema? Si utilicé la identificación y el nombre de la HelloFacebookSample dentro de mi propia aplicación, todo funciona. Por lo tanto, TIENE que ver con la clave hash, id o nombre que he establecido en algún lugar muy probablemente ..
Gracias, Yenthe
- Verifica tu valor clave de hash.
- Desinstale la aplicación de Facebook de su teléfono.
- Luego intente nuevamente usando SDK.
Esto resolvió mi problema.
"Habilitado el inicio de sesión único para su aplicación" es por eso que solo funciona una vez. por favor diríjase a developer.facebook y revise la configuración. Trabaja para mí
Agregar claves SHA1 desde Eclipse / keytool me ayudó solo al crear la aplicación en FB, luego de reconstruir siempre obtendría el error de OP.
Lo que resolvió mi problema fue agregar la clave en el mensaje de error a la configuración del tablero de Facebook.
Compruebe su google-services.json. Puede ser que sea diferente. Descargue su última google-services.json y luego ejecute la aplicación. Espero eso ayude.
Después de horas de intentar, finalmente encontré una solución.
- Eliminar cualquier aplicación en el sitio web de Facebook (developers.facebook.com)
- Elimine el archivo debug.keystore en
C:/Users/yourUserName/.android
- Genera una nueva clave (al ejecutar tu aplicación de nuevo)
- Crea una nueva aplicación en developers.facebook.com y agrega la nueva clave hash
- Vuelve a ejecutar tu aplicación
- ¡Succes!
El uso del almacén de claves de Debug, incluido el depurador.keystore de Android presente en la carpeta .android, generaba un problema extraño; el inicio de sesión con el botón de inicio de sesión de Facebook en la aplicación de Android se realizará perfectamente como se desee por primera vez. Pero cada vez que me desconecté e intenté iniciar sesión, arrojaría un error diciendo: Esta aplicación no tiene hash de claves de Android configuradas. Vaya a http: // ....
Creando una Keystore usando el comando keytool (keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -sigalg SHA1withRSA -keysize 2048 -validity 10000) y colocando este keystore en la carpeta superior de mis proyectos y haciendo un La siguiente entrada en el archivo build.gradle de los proyectos resolvió el problema:
signingConfigs {
release {
storeFile file("my-release-key.keystore")
storePassword "passpass"
keyAlias "alias_name"
keyPassword "passpass"
} }
Tenga en cuenta que siempre utiliza el siguiente método dentro deCreate () de su actividad en Android para obtener el valor clave de hash (para registrarse en el sitio developer.facebook.com de su aplicación) en lugar de usar la línea de comando para generar valor hash como línea de comando en algunos cased pueden sacar un hash de clave incorrecta:
public void showHashKey(Context context) {
try {
PackageInfo info = context.getPackageManager().getPackageInfo("com.superreceptionist",
PackageManager.GET_SIGNATURES);
for (android.content.pm.Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.e("KeyHash:", sign);
// Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show();
}
Log.d("KeyHash:", "****------------***");
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
}
Encontré un problema similar. La solución es sorprendentemente simple.
El mensaje de error se ve así:
07-05 ...... Invalid key hash. The key hash sL1***************VY= does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/apps/150*******778
07-05 ...... at com.facebook.login.LoginManager.onActivityResult(LoginManager.java:191)
Simplemente inicie sesión en https://developers.facebook.com/ , seleccione la pestaña "Configuración" y agregue la clave hash "sL1 *************** VY =" a la lista de guardados Hashes clave en el panel de Android.
Enfrenté el mismo problema durante el desarrollo y necesitaba obtener la clave hash para probar compartir en Facebook, y mientras resolvía esto, tuve varios problemas
1- El comando facebook proporcionar para obtener la clave hash utilizando el comando openSSL no me dio el hash correcto que obtuve extrayendo la firma de la información del paquete con el código. obtener el hash de la segunda manera era correcto.
2- Por alguna razón, en la documentación te dicen que vayas a la configuración del desarrollador y agregas la clave hash para ''Sample App'' allí, pensé que cada hashkey para un desarrollador debería estar allí, y ese fue mi error, cada aplicación tiene su propio campo de claves hash para agregar, ve a tu aplicación / settings / android.
bueno, eso fue todo ... y para los registros usé openssl-0.9.8k_X64 en un Windows 7 x64 y solo genera un hash incorrecto, no sé por qué
Usé este código para obtener el hash:
private void printKeyHash() {
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo("YOUR PACKAGE NAME", 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) {
Log.e("KeyHash:", e.toString());
} catch (NoSuchAlgorithmException e) {
Log.e("KeyHash:", e.toString());
}
}
pero tenga cuidado de que esto no imprima también en los registros el keyhash correcto, al menos en mi dispositivo y máquina, cuando lo depuro, en un reloj muestra el hash correcto justo antes de imprimir los registros, pero en los registros muestra otro hash y el primero fue el correcto.
de todos modos también puede usar un comando o un eclipse para ver la secuencia hexadecimal de SHA para su clave y convertirla a la base 64 en línea, hay sitios web que pueden ayudar a http://tomeko.net/online_tools/hex_to_base64.php?lang=en
Buena suerte
Este es un caso que posiblemente podría haber ocurrido y lo que resolvió mi error:
En https://developers.facebook.com/quickstarts después de ejecutar
OSX / Linux:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Windows:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%/.android/debug.keystore | openssl sha1 -binary | openssl base64
Cuando se Enter keystore password:
es posible que haya escrito accidentalmente una contraseña incorrecta , la contraseña predeterminada es " android ". Escribir cualquier otra contraseña le dará una clave de hash diferente / incorrecta. Pegue la clave hash correcta en el campo Key Hashes
en la página de su aplicación
Esto resolvió mi problema, espero que esto ayude a quien haya cometido este error en particular que yo hice
He tenido este problema durante dos meses. Mis claves hashes han estado hasta 9. Hoy finalmente encontré la solución simple:
PASO 1:
Instale el sdk de Facebook que descargó de la página del desarrollador de Facebook en su teléfono. No instale la aplicación normal de Facebook. Asegúrate de que puedes iniciar sesión en Facebook. Luego cierre la sesión.
PASO 2:
Exporte su aplicación con su clave de lanzamiento final como una aplicación, como lo haría al subirla a la tienda de juegos.
PASO 3:
Coloque el archivo Apk en su teléfono mediante un cable usb o un dispositivo USB.
ETAPA 4:
Instale su aplicación, utilizando un administrador de archivos: por ejemplo, https://play.google.com/store/apps/details?id=com.rhmsoft.fm
PASO 5:
Inicie su aplicación e intente iniciar sesión con Facebook. Se abrirá un cuadro de diálogo y le dirá: "la clave no se ha encontrado en la consola del desarrollador de Facebook".
PASO 6:
Escriba la clave.
PASO 7:
Póngalo en su consola de desarrollador de Facebook y guárdelo. Ahora terminaste. Cualquiera que descargue su aplicación, publicada con keystore usado anteriormente, puede iniciar sesión en Facebook.
Disfrutar
Se ve loco, pero funciona
Realmente problema debido a que la cuenta privada de Facebook obtuvo esta aplicación y la clave hash de esta cuenta no es comparable
Pero no debes enfrentar este error con el usuario real. Pero no estoy seguro
Finalmente, sigue el siguiente paso:
- Vaya a su cuenta privada de Facebook que intenta iniciar sesión
- A continuación, haz clic en Más en el directorio de aplicaciones
- Haga clic en Configuración
Y luego haz clic en cruzar
Y ahora puedes iniciar sesión con Facebook. Pero la próxima vez que cierres la sesión e intentarás volver a iniciar sesión, te enfrentarás al mismo problema ...
También es extraño ...
Pero no creo que Facebook no sepa sobre esto ...
Si su inicio de sesión funciona sin instalar la aplicación de Facebook y no funciona cuando la aplicación de Facebook está instalada debido a un error "la clave hash no coincide", siga los siguientes pasos
1) Inicie su aplicación e intente iniciar sesión con Facebook. Se abrirá un cuadro de diálogo y le dirá: "la clave no se ha encontrado en la consola del desarrollador de Facebook y también muestra la tecla hash".
2) Anote esa tecla hash.
3) Póngalo en su consola de desarrollador de Facebook donde primero generó su clave de API y elimine la clave de hash con nuevo y guarde. Ahora terminaste. Cualquiera que descargue su aplicación, publicada con keystore usado anteriormente, puede iniciar sesión en Facebook.
Tengo el mismo problema. Descubrí que usé el hashkey equivocado. keytool imprimió hashkey incorrecto porque ejecuto el comando con un alias incorrecto.
Por favor revisa tu comando nuevamente. Resolverá tu problema
keytool -exportcert -alias "test fb sdk" -storepass android -keypass android -keystore "C:/keystore.keystore" | openssl sha1 -binary | openssl base64
Tengo un problema similar. Después de firmar y publicar mi aplicación en Google PlayStore, parece que Hash ha cambiado. Agregué el nuevo hash (como se menciona) en el mensaje de Facebook a Key Hashes en mi aplicación en developers.facebook.com/app//settings. Ahora funciona de nuevo.