Facebook SDK 无效哈希键

Facebook SDK invalid Hash Key

我正在和朋友一起写 android 申请。在应用程序中,我们使用 Facebook SDK 和一个登录按钮。我们已经使用类似于 facebook 在 facebook 的应用配置文件中建议 Code 的代码设置哈希键。我们还在 Settings -> Key Hashes 下写了密钥。在真实设备上测试登录时,如果本机 facebook 应用程序正在使用我的朋友帐户,我们的应用程序可以登录,但如果我使用我的帐户,我会收到错误消息:

Invalid key hash . The key hash XXXXXXXXX.... doesn't not match any stored key hashes . configure your app key hashes at ......

我们检查了应用程序配置文件,我的帐户也写在那里具有管理员权限。

运行 此代码在您的应用程序中,您将拥有哈希键:

try
{
    //paste Your package name at the first parameter
    PackageInfo info = getPackageManager().getPackageInfo("PUT_YOUR_PACKAGE_NAME_HERE",
            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 (PackageManager.NameNotFoundException e)
{
}
catch (NoSuchAlgorithmException e)
{
}

完整的 facebook 登录示例

由于您是从其他设备登录的,因此您应该在 facebook console 中启用您的应用程序。检查 this answer 看看如何。

确保您使用的是正确的密码,因为 keytool 显然不会拒绝不正确的密码,并且会生成不正确的哈希值。默认密钥库密码是 android