Android Facebook密钥哈希问题:与存储密钥哈希不匹配
我知道,这个问题被问了很多次。但我又在为这个问题苦恼。我首先使用命令行创建了一个密钥哈希:Android Facebook密钥哈希问题:与存储密钥哈希不匹配,android,facebook,facebook-graph-api,hash,Android,Facebook,Facebook Graph Api,Hash,我知道,这个问题被问了很多次。但我又在为这个问题苦恼。我首先使用命令行创建了一个密钥哈希: 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\ope
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应用程序。但不幸的是,我的日志中出现以下异常:
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设置哈希键框中,不要删除任何哈希键。如果要生成多个hask密钥,只需添加它们。我也做错了 您是否尝试在错误消息中添加给您的密钥?是。现在我可以解决它。问题在于上面的代码包名称有点错误。所以这是一个错误的哈希键。我尝试添加错误消息中给出的密钥。但这并不奏效。还有一点我想说:在facebook设置哈希键框中,不要删除任何哈希键。如果要生成多个hask密钥,只需添加它们。我也做错了。