此应用没有配置Android Key哈希。 - 使用Facebook SDK登录

时间:2014-12-14 11:23:58

标签: android facebook login facebook-login facebook-graph-api-v2.2

我在我的应用程序中使用facebook acount登录时遇到问题。我读到了Facebook Doc。我做了所有的步骤作为Facebook Doc。

首先登录应用程序中的facebook帐号 - 成功!而不是在应用程序中注销。我想用我的facebook帐号重新登录 但不工作 !!我接受了这个例外!请帮帮我!

异常:此应用未配置Android Key哈希值。在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. 打开App标签,然后打开 单击设置

  3. 将生成的hashkey粘贴到HashKey的字段上=如果还没有,请获取代码的密钥哈希部分

  4. 单点登录将为“是”:单点登录:启用此设置。
  5. 我想分享我的决心。也许有人需要这个解决方案祝你好运!

4 个答案:

答案 0 :(得分:15)

您无需生成哈希密钥。当您尝试从您的应用程序访问Facebook时,您将收到一条错误信息,上面跟着" [哈希键]"未注册或配置。只需复制该密钥,然后转到developer.facebook.com,您已在其中注册了用于Facebook验证的应用,并包含在主要哈希下。

请记住:对于每个设备,哈希键可能不同。你需要新加入它。

默认情况下,此键应该执行:2jmj7l5rSw0yVb / vlWAYkK / YBwk =

此外,在所有内容之前,您需要向facebook提供您的应用详情,以及您使用Facebook功能的截图以及您使用的原因。他们需要验证。

答案 1 :(得分:10)

要生成发布密钥的哈希值,请在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

答案 2 :(得分:0)

有一种简单的方法来获取您的哈希密钥。

只需将您的主要.kt文件放在onCreate方法中的以下几行即可:

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

然后将结果复制到Facebook开发人员网站。有时结果在生成的字符串的末尾没有等号(=)。如果是这样,请手动添加。

答案 3 :(得分:0)

获取所有哈希博览会

expo fetch:android:哈希