Android 使用 Cordova 的 Facebook 密钥哈希
Android Key Hash for Facebook with Cordova
我正在使用 Meteor 和 Cordova 开发混合应用程序。我正在尝试配置 Facebook Connect 并让它在 iOS 上运行,但我卡在了 android 上。我似乎找不到正确的密钥散列。
我总是收到消息:
Invalid key hash. The key hash ... does not match any stored key hashes.
我已经尝试通过以下命令找到正确的密钥哈希:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
和标准密码 "android"。我将生成的密钥添加到 Facebook,但没有帮助。我也尝试了下面post中的工具。它给了我另一把钥匙,但也没有用。有什么想法吗?
Facebook keyhash works with your application's package name and keystore.
使用生产密钥库对您的 apk 进行签名并使用以下代码获取 facbook 密钥哈希
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.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Facebook Keyhash 将以 '=' 等于符号开头。 出于测试目的,您可以同时拥有来自调试密钥库和生产密钥库的 keyhash。
可以获取更多信息 here。
Meteor 在通过 meteor 运行 android-device 创建 android 应用程序时使用自己的调试密钥库。
密钥库位于 ~/.meteor/android_bundle/.android/debug.keystore.
使用以下代码和密钥库密码 android 创建您的密钥哈希:
keytool -exportcert -alias androiddebugkey -keystore \
~/.meteor/android_bundle/.android/debug.keystore | openssl sha1 -binary | openssl base64
我遇到了同样的问题,只需将错误消息上的密钥放在 FB 设置上即可。成功了。
我正在使用 Meteor 和 Cordova 开发混合应用程序。我正在尝试配置 Facebook Connect 并让它在 iOS 上运行,但我卡在了 android 上。我似乎找不到正确的密钥散列。 我总是收到消息:
Invalid key hash. The key hash ... does not match any stored key hashes.
我已经尝试通过以下命令找到正确的密钥哈希:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
和标准密码 "android"。我将生成的密钥添加到 Facebook,但没有帮助。我也尝试了下面post中的工具。它给了我另一把钥匙,但也没有用。有什么想法吗?
Facebook keyhash works with your application's package name and keystore.
使用生产密钥库对您的 apk 进行签名并使用以下代码获取 facbook 密钥哈希
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.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
Facebook Keyhash 将以 '=' 等于符号开头。 出于测试目的,您可以同时拥有来自调试密钥库和生产密钥库的 keyhash。
可以获取更多信息 here。
Meteor 在通过 meteor 运行 android-device 创建 android 应用程序时使用自己的调试密钥库。 密钥库位于 ~/.meteor/android_bundle/.android/debug.keystore.
使用以下代码和密钥库密码 android 创建您的密钥哈希:
keytool -exportcert -alias androiddebugkey -keystore \
~/.meteor/android_bundle/.android/debug.keystore | openssl sha1 -binary | openssl base64
我遇到了同样的问题,只需将错误消息上的密钥放在 FB 设置上即可。成功了。