我正在使用 android studio 开发一个使用 facebook sdk 的应用程序。
当我使用以下命令时
C:\Program Files\Java\jdk1.7.0_21\bin>keytool -exportcert -alias androiddebugkey
-keystore "C:\Users\ninad\.android\debug.keystore" | "D:\OpenSSL\bin\openssl" s
ha1 -binary |"D:\OpenSSL\bin\openssl" base64
它返回 y5EquINHD6DvwVJFyJTuUEY3NSU=
当使用这个哈希键时,facebook 会显示错误
无效的 android_key 参数。 key c33Tm0FL_-kxyaPZq1JBLDh767U 不匹配任何 允许的 key 。
在使用 eclipse 和 android studio 时,facebook 需要的 hash 键是否不同?其中哪个是我正确的哈希键?
我在 Facebook 的应用中添加了两个哈希键。应用程序仍然显示无效的 android_key 参数。
最佳答案
你为什么不试试这个代码并检查你正在使用的哈希键。来自 facebook 文档:
除了仔细检查您的 key 哈希生成步骤之外,还有另一个选项可以确保您使用正确的 key 哈希。它涉及更改其中一个示例应用程序中的代码以打印发送到 Facebook 的签名。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Add code to print out the key hash
try {
PackageInfo info = getPackageManager().getPackageInfo(
"your.package",
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) {
}
}
关于android - 使用android studio时的facebook哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16916646/