Tengo un problema para iniciar sesión con una cuenta de Facebook en mi aplicación. Leí en Facebook Doc. E hice todos los pasos como Facebook Doc.
Primero en iniciar sesión con una cuenta de Facebook en la aplicación - ¡ EXITOSO ! y luego cerrar sesión en la aplicación. Quiero iniciar sesión de nuevo con mi facebook acount. ¡¡Pero no funciona !! ¡Y tomé este Excepiton! Por favor, ayúdame !
Excepción: esta aplicación no tiene ningún hash de clave de Android configurado. Configure los hash de clave de su aplicación en http: developers.facebook.com/apps/ "ID de la aplicación".
Finalmente; Solía parte del código para HashKey Genarate
try {
PackageInfo info = getPackageManager().getPackageInfo("MY PACKAGE NAME", 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("MY KEY HASH:", sign);
// Toast.makeText(getApplicationContext(),sign, Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Resolví mi problema. Debería haber terminado de configurar en Facebook. Pasos:
- Vaya a la página del desarrollador de Facebook: https://developers.facebook.com/
Abra las pestañas de la aplicación y luego haga clic en Configuración
Pegue el hashkey de generación en el campo de HashKey = Si aún no lo tiene, obtenga la parte del código del hash de clave
- Y el inicio de sesión único será "Sí": Inicio de sesión único: habilite esta configuración.
Quería compartir mi determinación. Quizás alguien necesite esta solución. Buena suerte !
fuente
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Para Windows:keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
Respuestas:
No necesita generar su clave hash. Cuando intente acceder a Facebook desde su aplicación, recibirá un mensaje de error que dice que "[Hash Key]" no está registrado o configurado. Simplemente copie esa clave y vaya a developer.facebook.com donde ha registrado su aplicación para la verificación de Facebook e inclúyala debajo de los hash de clave.
Recuerde: para cada dispositivo, la clave hash puede ser diferente. Debes incluirlo recientemente.
Por defecto, esta clave debería funcionar: 2jmj7l5rSw0yVb / vlWAYkK / YBwk =
Además, antes de todo, debe proporcionar a Facebook los detalles de su aplicación, junto con capturas de pantalla de dónde está usando las funciones de Facebook y las razones por las que las está usando. Necesitan verificar eso.
fuente
Para generar un hash de su clave de lanzamiento, ejecute el siguiente comando en Mac o Windows sustituyendo su alias de clave de lanzamiento y la ruta a su almacén de claves. En OS X, ejecute:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
En Windows, use:
keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Ref: https://developers.facebook.com/docs/android/getting-started/#create_hash
fuente
Si no ha publicado su aplicación y solo desea usar el hash de la versión de depuración, puede obtenerlo de su almacén de claves de depuración con este comando:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
Más sobre esta publicación SO relacionada
fuente
Hay una manera fácil de obtener su clave hash.
Simplemente coloque en su archivo .kt principal, en el método onCreate, las siguientes líneas:
FacebookSdk.sdkInitialize(this) println("Facebook hash key: ${FacebookSdk.getApplicationSignature(this)}")
Luego copie el resultado al sitio web de desarrolladores de Facebook. A veces, el resultado no tiene el símbolo igual (=) al final de la cadena generada. Si es así, agréguelo manualmente.
fuente
Obtén todo Hash Expo
expo fetch: android: hashes
fuente