我知道,这个问题被多次询问。但我再次遭遇这个问题。我首先使用命令行创建了一个密钥哈希:
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 App Settings上添加了这个密钥哈希。然后编译并运行我的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的整合。这是我的关键工具的问题吗?任何人都可以给我正确的解决方案。我确实尝试了不同的选择,也累了。
请帮助..
答案 0 :(得分:0)
是..现在我能够解决它。问题是在上面的代码包名称略有错误。所以它是一个给出错误的哈希键。我已经尝试添加错误消息中给出的密钥。但那没用。还有一点,我想在这里说:在facebook设置哈希密钥框中,不要删除任何哈希密钥。如果要生成多个hask密钥,只需添加它们即可。我也做错了。 -