我知道,这个问题被问了很多次。但我再次受到这个问题的困扰。我已经第一次创建使用命令行的关键哈希:Facebook KeyHash问题:与商店密钥散列不匹配
keytool -exportcert -alias androiddebugkey -keystore "C:\Users\admin\.android\debug.keystore" | "D:\Work\FL\SocialNetwork\openssl-0.9.8k_WIN32\bin\openssl.exe" sha1 -binary | "D:\Work\FL\SocialNetwork\openssl-0.9.8k_WIN32\bin\openssl.exe" base64
这给了我一把钥匙:7sfF8f3iv6txnCqYW4zoK3lQRBM =
现在我已经加入此密钥哈希Facebook上的应用程序设置。然后编译并运行我的android应用程序。但不幸的是,我得到了我的logcat中的以下例外:
Uh oh. The user cancelled the Facebook login.com.facebook.FacebookAuthorizationException: UnknownError: ApiException:Key hash Dfd2yTJmYckjhuASsVgSXLJ_Tso does not match any stored key hashes.
所以它是非常不匹配的散列键。但是,什么才是正确的关键。我已生成使用我的代码的哈希键,因为它已经在不同的岗位被建议:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.social.socialnetworking",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("Testing:", "Hi key :: "+Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
这又回到了我下面的键:torTZ0ApYu3ylNnPUj7fcAjMsfQ =
现在,当我有这个键尝试并运行应用程序,它给了我同样的错误。
现在我很惊讶我应该如何处理这个facebook的整合。这是我的关键工具的问题吗?任何人都可以请给我正确的解决方案。我已经从字面上尝试了不同的选择,也很累。
请帮助..
您是否尝试添加在错误消息中给予您的密钥? –
是的..现在我能够解决它。问题出现在上面的代码包名称中有点不对。所以这是一个错误的哈希键。我试着添加错误信息中给出的关键字。但那并不奏效。还有一点我想说的是:在Facebook设置哈希键框中,不要删除任何哈希键。如果您生成多个哈希键,只需添加它们即可。我也做错了。 –