当我尝试通过我的Android应用程序在Facebook开发人员控制台中使用FacebookSDK和相应的Facebook应用程序向Facebook提供内容时,我收到了一条错误消息:
Facebook key hash does not match any stored key hashes
然后我去了logcat的日志,从错误信息中获取了哈希键,去了Facebook开发者 - >应用程序并将其添加到那里。
现在我可以分享帖子了。
但是,当我将应用发布到Google Play时,该怎么办?我必须添加什么密钥哈希到Facebook,以便我的所有用户都可以在他们的Facebook Walls上发布?
答案 0 :(得分:1)
步骤1:将以下方法放入代码中(主要活动或其他)。
/**
* Generates the hash key used for Facebook console to register app. It can also be used for other sdks) Method copied from: https://developers.facebook.com/docs/android/getting-started/
*/
public static String printHashKey(Context ctx) {
// Add code to print out the key hash
try {
PackageInfo info = ctx.getPackageManager().getPackageInfo(ctx.getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
return Base64.encodeToString(md.digest(), Base64.DEFAULT);
}
} catch (NameNotFoundException e) {
return "SHA-1 generation: the key count not be generated: NameNotFoundException thrown";
} catch (NoSuchAlgorithmException e) {
return "SHA-1 generation: the key count not be generated: NoSuchAlgorithmException thrown";
}
return "SHA-1 generation: epic failed";
}
第2步:在MainActivity
的onCreate():System.out.println("Fb key: "+printHashKey(this));
第3步:导出您的应用APK,使用用于签署上传到Google Play商店的APK的相同keyStore对其进行签名。
步骤4:在您的设备上安装APK,将其连接到您的PC,然后在LogCat中查找要打印的Fb key
。
步骤5:使用已附加您应用的帐户登录Facebook,开发者控制台。在“设置”下,您可以添加在步骤4中打印出的哈希键。