アプリケーションで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で設定を完了する必要がありました。手順:
アプリのタブを開き、設定をクリックします
HashKeyのフィールドに生成ハッシュキーを貼り付けます=まだ持っていない場合は、コードのキーハッシュ部分を取得します
私の決意を共有したかった。たぶん誰かがこのソリューションを必要としています。幸運を !
ハッシュキーを生成する必要はありません。アプリからfacebookにアクセスしようとすると、「[ハッシュキー]」が登録または設定されていないというエラーメッセージが表示されます。そのキーをコピーして developer.facebook.com にアクセスし、Facebookの確認用にアプリを登録し、キーハッシュの下に含めます。
要確認:ハッシュキーはデバイスごとに異なる場合があります。新しく含める必要があります。
デフォルトでは、このキーは以下を実行する必要があります:2jmj7l5rSw0yVb/vlWAYkK/YBwk =
また、何よりも前に、Facebookの機能を使用している場所のスクリーンショットと使用する理由とともに、アプリの詳細をFacebookに提供する必要があります。彼らはそれを検証する必要があります。
リリースキーのハッシュを生成するには、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
アプリを公開しておらず、デバッグバージョンハッシュのみを使用する場合は、次のコマンドを使用してデバッグキーストアから取得できます。
keytool -exportcert -alias androiddebugkey -keystore ~/.Android/debug.keystore | openssl sha1 -binary | openssl base64
この関連SO投稿 の詳細
ハッシュキーを取得する簡単な方法があります。
メインの.ktファイルに、onCreateメソッドに次の行を追加するだけです。
FacebookSdk.sdkInitialize(this)
println("Facebook hash key: ${FacebookSdk.getApplicationSignature(this)}")
次に、結果をFacebook開発者のWebサイトにコピーします。結果には、生成された文字列の末尾に等号(=)がない場合があります。その場合、手動で追加します。