web-dev-qa-db-ja.com

このアプリにはAndroidキーハッシュが構成されていません。 -Facebook SDKでログイン

アプリケーションでFacebookアカウントでのログインに問題があります。 Facebook Docを読みます。そして、Facebook Docとしてすべてのステップを実行しました。

最初にアプリでFacebookアカウントを使用してログインします-成功!アプリケーションでログアウトするよりも。 Facebookアカウントでagainログインします。 しかし、動作しません!!そして、私はこのエクセピトンを取りました!私を助けてください !

例外:このアプリにはAndroidキーハッシュが構成されていません。http:developers.facebook.com/apps/ "APP ID"でアプリのキーハッシュを構成してください

最後に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) {
}

問題を解決しました。Facebookで設定を完了する必要がありました。手順:

  1. Facebook開発者のページに移動します。 https://developers.facebook.com/
  2. アプリのタブを開き、設定をクリックします

  3. HashKeyのフィールドに生成ハッシュキーを貼り付けます=まだ持っていない場合は、コードのキーハッシュ部分を取得します

  4. そして、シングルサインオンは「はい」になります:シングルサインオン:この設定を有効にします。

私の決意を共有したかった。たぶん誰かがこのソリューションを必要としています。幸運を !

80
Tarık Yurtlu

ハッシュキーを生成する必要はありません。アプリからfacebookにアクセスしようとすると、「[ハッシュキー]」が登録または設定されていないというエラーメッセージが表示されます。そのキーをコピーして developer.facebook.com にアクセスし、Facebookの確認用にアプリを登録し、キーハッシュの下に含めます。

要確認:ハッシュキーはデバイスごとに異なる場合があります。新しく含める必要があります。

デフォルトでは、このキーは以下を実行する必要があります:2jmj7l5rSw0yVb/vlWAYkK/YBwk =

また、何よりも前に、Facebookの機能を使用している場所のスクリーンショットと使用する理由とともに、アプリの詳細をFacebookに提供する必要があります。彼らはそれを検証する必要があります。

15
Nielarshi

リリースキーのハッシュを生成するには、MacまたはWindowsで、リリースキーのエイリアスとキーストアへのパスを置き換えて、次のコマンドを実行します。 OS Xでは、次を実行します:

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

Windowsでは、次を使用します:

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


参照: https://developers.facebook.com/docs/Android/getting-started/#create_hash

10
Evan Lévesque

アプリを公開しておらず、デバッグバージョンハッシュのみを使用する場合は、次のコマンドを使用してデバッグキーストアから取得できます。

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

この関連SO投稿 の詳細

1
kip2

ハッシュキーを取得する簡単な方法があります。

メインの.ktファイルに、onCreateメソッドに次の行を追加するだけです。

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

次に、結果をFacebook開発者のWebサイトにコピーします。結果には、生成された文字列の末尾に等号(=)がない場合があります。その場合、手動で追加します。

0
Robert Pal