Android Facebookと無効なキーハッシュの統合


194

私のアプリの1つで、Facebookからデータを取得する必要があります...私はこれを行っています:

アプリIDを作成しました。ログインは成功しましたが、ログアウトした後でログインすると、次のように表示されます。

無効なキーハッシュエラーのスクリーンショットFacebook

私は何をしているのですか?Facebook SDKを使用しています ... Facebookを電話にインストールしました...エミュレーター内で正常に実行されていますが、組み込みのFacebookアプリケーションがインストールされていません。

これは私のコードです:

if (FB_APP_ID == null) {
    Builder alertBuilder = new Builder(this);
    alertBuilder.setTitle("Warning");
    alertBuilder.setMessage("A Facebook Applicaton ID must be " +
                            "specified before running this example: see App.java");
    alertBuilder.create().show();
}

// Initialize the dispatcher
Dispatcher dispatcher = new Dispatcher(this);
dispatcher.addHandler("login", LoginHandler.class);
dispatcher.addHandler("stream", StreamHandler.class);
dispatcher.addHandler("logout", LogoutHandler.class);

// If a session already exists, render the stream page
// immediately. Otherwise, render the login page.
Session session = Session.restore(this);
if (session != null) {
    dispatcher.runHandler("stream");
}
else {
    dispatcher.runHandler("login");
}

12
しかし、それは初めてliginを正常に実行します。ログアウトの完了後にログインしていると機能しません
Android

1
はい、私は持っています。for(Signature signature:info.signatures){MessageDigest md = MessageDigest.getInstance( "SHA"); md.update(signature.toByteArray()); Log.d( "KeyHash:"、Base64.encodeToString(md.digest()、Base64.DEFAULT)); }
Android

1
ここでこの問題を解決しました!ここにクールな理解しました![ stackoverflow.com/questions/5306009/… ] [1]
Madi

3
@Androidこれは古いですが、私はこれについて言及する必要があります。これは、ユーザーがログアウトしてからログインした場合には発生しません。これは、2回目のデバッグ、つまりデバッグ中にアプリを再インストールするときに発生します。したがって、ハッシュが変更されます。これは、署名済みアプリ(本番対応)の場合は発生しません
Nilay Vishwakarma

1
Facebookアプリをアンインストールしても同じエラーが発生しますか?2台の電話からテストしましたが、このエラーはFacebookアプリがインストールされている場合にのみ発生します。
Jaime Montoya

回答:


274

生成されたハッシュキーが間違っています。ハッシュキーは2つの手順で取得できます。

1つはコマンドプロンプトを使用する方法です。もう1つはコーディングによるものです。コマンドプロンプトからのハッシュキーは、初めてのみ機能します。理由はわかりません。私も同じ問題を抱えています。したがって、プログラムで試してみました。

次の手順を実行します:

次のコードをに貼り付けますoncreate()

try {
    PackageInfo info = getPackageManager().getPackageInfo(
                           "com.example.packagename",
                           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) {
}
catch (NoSuchAlgorithmException e) {
}

上記のコーディングで「com.example.packagename」をパッケージ名で必ず変更してください(Androidマニフェストファイルでパッケージ名を見つけることができます)。

アプリケーションを実行します。上記のコードを貼り付けたアクティビティに移動します。LogCatファイルで、「KeyHash」を検索します。あなたはキーハッシュを見つけるかもしれません。キーハッシュをコピーして、Facebookアプリケーションのダッシュボードページに移動します。設定に移動し、下の画像のように詳細を入力します。

ここに画像の説明を入力してください

上記の手順を完了したら、アプリを再起動します。Facebookにログインできます。キーハッシュの詳細については、リンクを確認してください

設定ページで間違った情報を追加すると、エラーが発生します。そこで正しい情報を使用してください。また、公衆(あなた以外)がアプリケーションを使用する必要がある場合は、権限を有効にする必要があることを意味します(設定の横にある[ステータスとレビュー]で[はい]を変更します)


20
このようにして、おそらくデバッグキーストアのキーハッシュを取得しました。開発モードで動作しますが、本番モードでは必要ありません。少なくとも、本番用アプリでは機能しません。
Liangjun 14

3
おかげで私の時間を大幅に節約できました... facebookの公式ドキュメントはそれを読むべきではありません
DjP 2014年

どうもありがとうございました!
KinGPinG 2014

Hey this code PackageInfo info = getPackageManager()。getPackageInfo( "com.example.packagename"、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)); Windowsのcmdでコマンドを実行したときに別のハッシュキーが送信されましたが、ハッシュキーが異なり、FBに追加しましたが、ログにはプログラムコードのハッシュが表示されます
Sagar Devanga

1
多くの時間を節約できました。まだ最高だ。キーハッシュの詳細を確認し、それをコピーしてFacebook開発者ページに貼り付けます。手動で入力するのを間違えないでください!また、アプリをアンインストールしてインストールするたびにキーハッシュが変化することを理解してください。
sanjeev

188

Google Playアプリ署名を使用している場合:

Google Play Consoleの[ アプリ署名]セクションを開き、[ アプリ署名証明書]SHA-1ハッシュ取得します。次に、たとえば次のツールを使用して、それをBase64に変換します。16進数-> base64文字列デコーダー

コンソールのスクリーンショット

Base64スクリーンショットに変換


14
お客様!あなたは命の恩人です!たくさんの愛。Facebookのコンソールにローカルのリリースキーのハッシュを配置している間、Playストアの署名を使用していました。
Taha Rushain 2017

4
Playストアアプリの署名について
誰も

7
ありがとうございました!できます!また、それのためのターミナルコマンドを使用することができます echo YOUR_SHA1_CERTIFICATE_COPIED_FROM_GOOGLE_PLAY | sed s/\://g | xxd -r -p | base64
ユーリーSeredyuk

4
これが本番環境で行う必要があることです!!! いいぞ!
Bikey '25

まさに私が知りたかったこと。アプリをアンインストールしてインストールするたびに、デバッグでハッシュキーが変更されます。署名付きAPKの場合、これが最善の解決策です。ありがとうございます。
sanjeev

122

この問題に直面している場合は、このキーをdeveloper.facebook.comに入れてください。

ここに画像の説明を入力してください

次に、アプリがdeveloper.facebook.com公開ていることを確認します。

この緑色の円は、アプリがライブであることを示しています。

ここに画像の説明を入力してください

そうでない場合は、次の2つの手順に従ってアプリをライブにします。

ステップ1アプリケーション→ 設定連絡先メールアドレス追加し、変更を保存を適用します。

ステップ2 [ App Review ]オプションに移動し、このトグルが[ はい ]であることを確認します。スクリーンショットを追加しました:

ここに画像の説明を入力してください

注:ハッシュキーをコピーする場合は、LogCatのBlueServiceQueueを確認してください。


5
電話からそのハッシュをコピーする簡単な方法はありますか?
Daniel Shatz 2016年

4
@DanielShatz logcatに表示されます。手紙を一冊一冊コピーしてみないと分からない。
Alaa M. 2016

4
BlueServiceQueue@DanielShatz logcat でタグを探す
Alaa M.

4
この答えは私にとってうまくいきました。ハッシュを手動で入力しようとすると、同じエラーが発生しました。問題は、小文字のL "l"ではなく、大文字のi "I"を入力したことです。これを実現するのに少し時間がかかりました。
マーカス

1
これは機能していますが、FBがこのハッシュキーをどこから取得するのか疑問に思いますか?誰も不思議ではありませんか?エラーは正常に機能するハッシュキーを表示していましたが、すべてのコマンドを使用しても、またはgoogleアプリの署名からsha1をbase64に取得すると、FBがエラーに表示したキーが得られました...とにかくトリックをありがとう
Umar3x

82

同じ問題が発生しました。私はそれが非常に小さな欠陥によるものだと確信していました、そしてそれはそうでした!

私は解決策を見つけました:

コンピューターでデバッグハッシュキーを生成するときに、システムのパスワードを入力しました。ただし、パスワードは次のようにする必要があります-

キーストアのパスワードを入力してください: "android"。私の場合、これが唯一の問題でした。

----- デバッグキーハッシュを生成するには、次のコマンドを使用します-

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

キーストアのパスワードを入力してください:「android」

----- リリースキーハッシュを生成するには、次のコマンドを使用します-

keytool -exportcert -alias "alias of keystore" -keystore "Your path to the keystore when signing app" | openssl sha1 -binary | openssl base64

このコマンドを実行した後、キーストアのパスワードを入力してください。


5
パスワードとして「android」を使用するとうまくいきます。これは不可解です。
adbie

3
ハッシュキーを生成するときに、この「android」をパスワードとして使用します。
Akash Bisariya 2016年

2
Windowsマシンでは、openssl \ binおよびjava .. \ binフォルダーのパス変数が正しく設定されていることを確認してください。また、facebookからコマンドを使用できるようにHOMEPATH変数を設定します。
KawaiKx 2017

1
少なくともMacでは、これを機能させるためにJava JDKをインストールする必要がありました。それ以外の場合、上記のデバッグコマンドはハッシュを生成しますが、ハッシュは機能せず、パスワードの入力を求められません。JDKをインストールすると、これは魅力のように機能しました。
lejonl

1
この答えは正しい答えである必要があります
Evan Ngo

20

私は同じ問題を経験しました。この奇妙な動作の考えられる理由について簡単な調査を行ったところ、次のことがわかりました。

  • 新しいFacebookアプリの最初の実行中は、キーハッシュを指定しなくても接続/ログインが許可されます。

  • 私にとって、Facebookが提供したチュートリアルは、間違った構成を提供していたため、正しいキーハッシュを生成しませんでした。実行時:

    keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl
    base64

HOMEPATH、キーストアの存在など、すべてのプロパティを確認してください。パスワードも入力する必要があります。

  • 適切な構成を生成したのは、@ Mahendranによって提案されソリューションです

  • また、最初に投稿されたエラー(http://i.stack.imgur.com/58q3v.pngが表示される場合は、画面に表示されるキーハッシュが実際のハッシュである可能性があります。他に何も機能しない場合は、Facebookに入力してみてください。

Windows 7 64ビット版、Android Studio 1.2.2、JDK 7でこれらすべての結果を得ました。


2
Linuxバージョン: `keytool -exportcert -alias androiddebugkey -keystore $ HOME / .android / debug.keystore | openssl sha1 -binary | openssl base64`
ruX

1
デバイスの画面にFacebookで表示されているものを入力するだけで動作します。メモをありがとう@Martin
ralphgabb

14

AndroidのFacebookログインによると、キーハッシュ値を提供する必要があります。これを取得するには、アプリケーションの署名に使用したキーが必要です。

keytool \
    -exportcert \
    -alias YourKeyAlias \
    -storepass YourStoreKeyPassword \
    -keystore PathToYourKeyStoreFile | openssl sha1 -binary | openssl base64

1
コメントを追加したいだけなら、プロダクションキーストアを使用してください。
Liangjun 14

2
@Liangjun実際には、すべてのキーを使用する必要があります。そうしないと、デバッグ環境でFacbeook Loginをテストできなくなります。
Pijusn 2014年

2
@Pius、はい、私は実際には両方のキーを使用します。私はそれを明確に述べるべきだった。
Liangjun、2014年

このコマンドのエラーが表示されます(Javaランタイムが存在せず、インストールを要求します)。ただし、キーも取得しますが、無効です。logcatから1つをコピーして貼り付けると、認識されないことがわかります。
Cristi Băluță 2019年

8

デバッグ用とリリース用の2つのキーハッシュを作成する必要があります。

以下のためのデバッグキーハッシュ:

OS Xでは、以下を実行します。

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

デバッグキーハッシュソース

以下のためのリリースキーハッシュ:

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

リリースキーハッシュソース


このコマンドのエラーが表示されます(Javaランタイムが存在せず、インストールを要求します)。ただし、キーも取得しますが、無効です。それを機能させるには、logcatからキーをコピーして貼り付けます
CristiBăluMayăMay

多分あなたはコマンドラインであなたのJavaとkeytoolのPATHを設定していませんか?@ CristiBăluță
MBH

7

私は以前のすべての答えを試しましたが、クライアントとの訴訟には何も役立ちませんでした!

その後、私のクライアントは、自分のデバイスにFacebookアプリがインストールされていることを思い出しました。彼がそれを削除した後。ログインは完全に機能しました。

ハッシュキーは変更されており、Facebook Developers Consoleの古いハッシュキーをエラーのキーで置き換えました(上記で提案したとおり)、それは機能します!

Facebookアプリ自体が問題である可能性があるので、FacebookアプリがインストールされているデバイスとFacebookアプリがインストールされていないデバイスでこれを理解し、両方のケースを処理する...


はい、デバイスにFacebookアプリをインストールした後、このエラーが発生しました。だから現在、私はFacebookの開発設定に2つのハッシュキーを入れています。
stuckedoverflow 2017年

3
私はあなたの状況と非常に似ています。私を助けたのはあなたのFBページに行く-設定-アプリ-リストからアプリを削除することです。ハッシュキーを変更し、fbアプリとアプリを再インストールします。そして今それは動作します...
anna_manzhula 2017年

4

これが私がこの問題を解決した方法です:

まず、SHA-1値を取得する必要があります。そのためには2つの方法があります。

Android StudioでSHA-1値を取得する。

  1. Gradleをクリックします
  2. 署名レポートをクリックします
  3. SHA-1値をコピーする

または

キーストアファイルからSHA-1値を取得します。

keytool -list -v -keystore keystore_file_name.jks -alias key0

次のようにSHA-1値をクリップボードにコピーします。

CD:A1:EA:A3:5C:5C:68:FB:FA:0A:6B:E5:5A:72:64:DD:26:8D:44:84

そして、16進数-> Base64文字列デコーダーを開いて、SHA-1値をBase64に変換します。

これはFacebookが必要とするものです。

生成されたハッシュ「******************** =」を取得し、キーハッシュをFacebookアプリにコピーします。


3

私も同じ問題を抱えていました。最初にログインします。問題はありませんが、無効なキーハッシュです。

Unity用Facebook SDKが間違ったキーハッシュを取得します。「C:\ Users \ "your user" .android \ debug.keystore」からキーを取得し、完全な世界では、プロジェクトで作成したキーストアからキーを取得する必要があります。そのため、キーハッシュが登録されていません。

マディが提案したように、このリンクの手順に従って正しいキーを見つけることができます。プロジェクト内のキーストアを参照するようにしてください。そうしないと、正しいキーを取得できません。


3

次のコードはFacebookのハッシュを提供しますが、リリース候補のハッシュを取得するには、次の手順に従う必要があります。

  1. このコードをコピーしてメインアクティビティに貼り付けます

    try {
        PackageInfo info = getPackageManager().getPackageInfo(
                               "com.example.packagename",
                               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) {
    }
    catch (NoSuchAlgorithmException e) {
    }
  2. 署名済みAPKファイルを生成します。

  3. スマートフォンをラップトップに接続し、接続が維持されていることを確認します。
  4. リリースAPKを携帯電話に手動で移動して、携帯電話にAPKファイルをインストールして実行します。
  5. Android LogCatを見てください(フィルターKeyHash:を使用)。Facebookのリリースハッシュキーが表示されます。コピーしてに貼り付けてくださいhttps://developers.facebook.com/apps。設定中です。
  6. これで、アプリが正常に機能するかどうかをテストできます。

このコードは、署名済みのAPKを生成した場合にのみ機能することに注意してください。それ以外の場合は、リリースされたapkには役に立たないapkハッシュのデバッグのみを行います
abdul jalil

こんにちは、生成したハッシュキーをFacebookアプリに与えたところ、問題なく動作しましたが、別のデバイスで実行しようとすると、「無効なハッシュキー」が再び表示され、すべてのデバイスで動作するようにFacebookブックのハッシュキーを設定できます。
Deepak

2

長い研究の末、私たちは解決策を見つけました。

権限を次のように設定しました:

loginButton.setReadPermissions(public_profile email);

これは初めて機能しましたが、Facebookに再度ログインすると、無効なハッシュエラーが発生しました

簡単な解決策は、上記の行を次のように変更することでした。

loginButton.setReadPermissions(Arrays.asList("public_profile", "email"));

そしてそれは至福のように働きました!

Facebookは、誤解を招く無効なハッシュキーエラーではなく、正しい例外を返す必要があります。


同じ問題があります。解決策を試しましたが、まだ問題を解決できません@ user3663906
BekaKK

2

非常に多くの試行の後、私はこれに対する解決策を見つけました。デバッグキーとリリースキーの両方を生成してFacebook開発者コンソールに追加しましたが、それでもエラーが発生しました。

私のために働いた唯一の解決策は、GoogleからOpenSSLプログラムをアンインストールし、Win32 / Win64 OpenSSL Installer for Windowsからダウンロードすることでした

それは本当に魔法のように動作します。


2

この質問は便利な方法の多くで回答されているにもかかわらず、私はちょうど私が私がした(Googleでハッシュキーは、コンソールを再生使用)ラファウMaleks答えを続いたときにすることを追加したい、NOTアプリの署名SHA1キーを使用することができ、まだジェネリックを得ましたFacebookからのエラー。代わりに、証明書のアップロード部分(Google Play Consoleのアプリ署名部分のすぐ下)からSHA-1証明書のフィンガープリントを使用する必要がありました。それ以外は同じプロセス。

  1. Google Play Consoleの[ Upload Certificate]セクションからSHA-1証明書のフィンガープリントをコピーします

  2. http://tomeko.net/online_tools/hex_to_base64.phpを使用してSHA-1を変換し、出力(base64)をコピーします

  3. それをdeveloper.facebook.comのKey Hashes入力に貼り付け、変更を保存します。

うまくいけば、この回答は冗長ではなく、アプリ署名証明書で動作しない人を助けるでしょう。

これで、Facebookログインがデバッグモードとリリースモードの両方で私のアプリで機能します。


1

次のコードをOnCreateメソッドに貼り付けます。

try {
    PackageInfo info = getPackageManager().getPackageInfo(
                           "com.example.packagename",
                           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) {
    e.printStackTrace();
}
catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
}

パッケージ名を変更するだけです。次に、LogCatファイルに移動して、[ここでデバッグ検索]を選択します。次に、ハッシュキーを見つけます。次に、このハッシュキーをコピーしてから、developer.facebook.app_idサイトに移動し、ハッシュキーを編集してを押しSaveます。次に、Androidプロジェクトを再度実行します。問題は解決すると思います。


7
他の男を繰り返す
Beto Caldas

1

これは、同じ問題を持つ誰かを助けるかもしれません。

  1. 以下のコードを使用してキーハッシュを生成します

    keytool -exportcert -alias <your_keystore> alias -keystore <your_keystore_file> | openssl sha1 -binary | openssl base64

    keytoolの使い方

  2. Facebook開発者の必須フィールドに貼り付けます

  3. Android Studioで、メニューのファイルプロジェクト構造

    ここに画像の説明を入力してください

    署名パラメータを追加します。

  4. フレーバーを選択

    ここに画像の説明を入力してください

    作成した署名設定を選択します。

  5. ビルドタイプを選択

    ここに画像の説明を入力してください

  6. ビルドバリアントを選択してビルドする

    ここに画像の説明を入力してください


1

アプリをデバッグしているときにも同じ問題が発生しました。添付した画像(Facebookが無効と言うもの)で取り消し線を引いたハッシュを書き直し、Facebookの開発者コンソールでキーハッシュに追加しました。タイプミスに注意してください。

この解決策は、適切な解決策よりも簡単な回避策のようなものです。


1

キーハッシュを手動で入力している場合(たとえば、モバイルからFacebookダッシュボードへ)、小さいLと大文字のIを区別してください。


1
try {
    PackageInfo info = getPackageManager().getPackageInfo(
                           "www.icognix.infomedia",
                           PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("YourKeyHash: ", Base64.encodeToString(md.digest(), Base64.DEFAULT));
        Log.d("YourKeyHash: ", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
}
catch (PackageManager.NameNotFoundException e) {
}
catch (NoSuchAlgorithmException e) {
}

0

Facebookが使用したものは、デバッグのデフォルトのパスワードとエイリアスではありません。次のように変更する必要があります。

/usr/lib/jvm/jdk1.8.0_66/bin/keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

デフォルトのパスワードで何も変更していない場合は、「android」にする必要があります。

build.gradleファイルで構成することもできます。ただし、ハッシュの生成には同じエイリアスパスワードを使用する必要があります。

android {
    signingConfigs {
        release {
            storeFile file("~/.android/debug.keystore")
            storePassword "android"
            keyAlias "androiddebugkey"
            keyPassword "android"
        }
    }
}

0

正しい答えがたくさんあります。たった一つ:

受信したハッシュを貼り付け、アプリケーション[設定]メインないファストスタート・チュートリアルを経て、。


0

私も同じ問題を抱えていました。

Facebook開発者セクションに保存されているハッシュキーを生成したのと同じデバイスでAPKファイルをビルドするようにしてください。


0

私はに以下を追加することでこれを修正しましたMainApplication.onCreate

try {
    PackageInfo info = getPackageManager().getPackageInfo(
                           "com.genolingo.genolingo",
                           PackageManager.GET_SIGNATURES);

    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        String hash = Base64.encodeToString(md.digest(), Base64.DEFAULT);
        KeyHash.addKeyHash(hash);
    }
}
catch (PackageManager.NameNotFoundException e) {
    Log.e("PackageInfoError:", "NameNotFoundException");
}
catch (NoSuchAlgorithmException e) {
    Log.e("PackageInfoError:", "NoSuchAlgorithmException");
}

次に、これをGoogle開発者コンソールにアップロードし、派生 APKをダウンロードしました。このAPKは、何らかの理由で、まったく異なるキーハッシュを持っています。

次に、LogCatを使用して新しいキーハッシュを決定し、他のユーザーの概要に従ってFacebookに追加しました。


0

リリースキーハッシュを生成する場合は、「android」ではなく、キーストアの実際のパスワードを入力してください。

これは私の問題でした。デバッグリリースは機能していましたが、リリースAPKは機能していませんでした。


-1

アクティビティのonCreate()メソッドで以下のコードを使用します。

try {
    PackageInfo info = getPackageManager().getPackageInfo(
                           "your application 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) {
}
catch (NoSuchAlgorithmException e) {
}

このコードを実行します。これにより、ハッシュキーが生成されます。このKeyHashをFacebookアプリケーション設定にコピーし、変更を保存します。次に、アプリケーションにログインします。これは将来的にも完全に機能します。


3
他の男を繰り返す
Beto Caldas
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.