web-dev-qa-db-fra.com

Cette application n'a pas de Android hashes configurés. - Connectez-vous avec Facebook SDK

J'ai un problème de connexion avec un compte facebook dans mon application. J'ai lu sur Facebook Doc. Et j'ai tout fait comme Facebook Doc.

Tout d'abord en connexion avec un compte facebook dans l'application - [~ # ~] réussi [~ # ~] ! et que se déconnecter de l'application. Je veux me connecter à nouveau avec mon compte facebook. Mais ne fonctionne pas !! Et j'ai pris cette exception! Aidez-moi, s'il vous plaît !

Exception: cette application n'a pas de Android Hache la clé configurée. Configurez les hachages de votre clé d'application à l'adresse http: developers.facebook.com/apps/ "APP ID"

Enfin; Je faisais partie du code pour 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) {
}

J'ai résolu mon problème. J'aurais dû régler sur Facebook. Pas :

  1. Allez sur la page du développeur facebook: https://developers.facebook.com/
  2. Ouvrez les onglets de l'application, puis cliquez sur le paramètre

  3. Collez la clé de hachage de génération dans le champ de HashKey = Si vous ne l'avez pas encore, obtenez votre partie de code de hachage

  4. Et que Single Sign On sera "Oui": Single Sign On: activez ce paramètre.

Je voulais partager ma résolution. Peut-être que quelqu'un a besoin de cette solution. Bonne chance !

80
Tarık Yurtlu

Vous n'avez pas besoin de générer votre clé de hachage. Lorsque vous essayez d'accéder à Facebook à partir de votre application, vous obtenez un message d'erreur indiquant que "[Hash Key]" n'est pas enregistré ni configuré. Copiez simplement cette clé et accédez à developer.facebook.com où vous avez enregistré votre application pour vérification sur Facebook et incluez-y des hachages de clé.

N'oubliez pas: pour chaque appareil, la clé de hachage peut être différente. Vous devez l'inclure fraîchement.

Par défaut, cette clé devrait faire: 2jmj7l5rSw0yVb/vlWAYkK/YBwk =

En outre, avant tout, vous devez fournir à Facebook les détails de votre application, ainsi que des captures d'écran indiquant où vous utilisez les fonctionnalités de Facebook et les raisons pour lesquelles vous les utilisez. Ils doivent vérifier cela.

15
Nielarshi

Pour générer un hachage de votre clé de publication, exécutez la commande suivante sur Mac ou Windows en remplaçant votre alias de clé de publication et le chemin d'accès à votre magasin de clés. Sous OS X, exécutez:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64

Sous Windows, utilisez:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64


Réf.: https://developers.facebook.com/docs/Android/getting-started/#create_hash

10
Evan Lévesque

Si vous n'avez pas publié votre application et souhaitez simplement utiliser le hachage de la version de débogage, vous pouvez l'obtenir à partir de votre magasin de clés de débogage avec cette commande:

keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64

En savoir plus sur this related SO post

1
kip2

Il existe un moyen simple d'obtenir votre clé de hachage.

Il suffit de mettre dans votre fichier .kt principal, dans la méthode onCreate, les lignes suivantes:

FacebookSdk.sdkInitialize(this)
println("Facebook hash key: ${FacebookSdk.getApplicationSignature(this)}")

Copiez ensuite le résultat sur le site Web des développeurs facebook. Parfois, le résultat n'a pas le symbole égal (=) à la fin de la chaîne générée. Si oui, ajoutez-le manuellement.

0
Robert Pal