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

Tar*_*tlu 80 android facebook login facebook-login facebook-graph-api-v2.2

我有关于在我的应用程序中使用facebook帐号登录的问题.我读到了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) {
}
Run Code Online (Sandbox Code Playgroud)

我解决了我的问题.我应该在Facebook上完成设置.脚步 :

  1. 转到facebook开发者页面:https: //developers.facebook.com/
  2. 打开应用程序选项卡,然后单击设置

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

  4. 并且单点登录将为"是":单点登录:启用此设置.

我想分享我的决心.也许有人需要这个解决方案 祝好运 !

Nie*_*shi 15

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

请记住:对于每个设备,哈希键可能不同.你需要新鲜包含它.

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

此外,在所有事情之前,您需要向Facebook提供您的应用程序详细信息,以及您使用Facebook功能的截图以及您使用的原因.他们需要验证这一点.

  • 旧线程,但是......对于每个"签名的apk版本"而不是每个设备的关键不同?当然,如果是每个设备,没有人能够使用它.提示其他人:您上传的签名版本与刚刚开发时使用的版本之间的哈希键是不同的.虽然您可以在Facebook中添加多个哈希键,但不应该是一个问题.当您使用另一个签名密钥时,哈希将会改变. (4认同)
  • @TarıkYurtlu这是什么?我已经注册了哈希密钥,但它没有用.如果我卸载Facebook应用程序它将工作.我应该注册申请发布还是我们可以进行开发? (2认同)

Eva*_*que 10

要生成发布密钥的哈希值,请在Mac或Windows上运行以下命令,替换您的发布密钥别名和密钥库的路径.在OS X上,运行:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)

在Windows上,使用:

keytool -exportcert -alias <RELEASE_KEY_ALIAS> -keystore <RELEASE_KEY_PATH> | openssl sha1 -binary | openssl base64
Run Code Online (Sandbox Code Playgroud)


参考:https://developers.facebook.com/docs/android/getting-started/#create_hash