這個應用程序沒有配置Android密鑰散列。 - 使用Facebook SDK進行登錄


Answers

要生成釋放密鑰的散列,請在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

Question

我有我的應用程序登錄與Facebook帳戶有問題。 我讀到Facebook文件。 我做了所有的步驟作為Facebook文件。

首先在登錄與Facebook應用程序在應用程序 - 成功 ! 而不是註銷應用程序。 我想用我的Facebook帳號重新登錄。 但不工作 ! 我把這個Excepiton! 請幫幫我 !

例外:此應用程序沒有配置Android密鑰哈希。在http:developers.facebook.com/apps/上配置您的應用程序密鑰哈希值“APP ID”

Finaly; 我習慣了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. 單一登錄將是“是”:單一登錄:啟用此設置。

我想分享我的決心。 也許有人需要此解決方案。 祝你好運 !