我一直在尝试从我的Android应用程序中实现facebook共享。我已经阅读了这份文件。
https://developers.facebook.com/docs/android/share
我已经成功整合了我的开发键哈希一次,并成功地从我的应用程序共享到Facebook。问题是当我尝试为我的另一个应用程序实现相同的步骤时。我已经成功添加了我的密钥哈希并将我的应用程序与facebook链接但是当我点击“POST”时,它显示密钥哈希值不匹配,并且错误消息附带的密钥哈希显示前一个应用程序的密钥哈希。
我已经使用它仔细检查了我的密钥哈希。
try {
PackageInfo info = getPackageManager().getPackageInfo(
"My Project",
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));
Toast.makeText(this, Base64.encodeToString(md.digest(), Base64.DEFAULT), Toast.LENGTH_LONG).show();
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
任何解决方案?
答案 0 :(得分:1)
那是因为你有2个Key哈希。 一个用于调试,第二个用于发布,当您使用自定义密钥库而不是Android调试版将应用程序发布到Google Play时。
您的场景听起来就像您正在从Eclipse / Android Studio运行您的应用程序,当您这样做时,您正在使用Debug keystore密钥哈希,您可能已将其包含在Facebook Developer Console中,就像您之前的应用程序一样。
如果您要使用其他密钥库导出APK,则必须获取此特定密钥库的哈希密钥,例如您在上面提到的在线示例中。
我很高兴知道您是使用调试密钥库还是您自己的APK签名。这将使事情变得更加简单。