在浏览Getting Started FaceBook API之后,在Android应用程序中按下“登录”按钮后收到错误消息:
无效的密钥哈希。密钥哈希不匹配..
现有的SO接受的答案都没有用。
生成哈希时我应填写哪个密码?或者任意密码都可以吗?
我还尝试将错误消息中的哈希键填入Facebook网站,但它没有帮助。
我正在使用mac。
答案 0 :(得分:0)
获取下面代码生成的keyhash并将该keyhash放入您的facebook应用程序,在Login Activity中调用此方法并从Logcat获取keyhash。
try {
PackageInfo info = getPackageManager().getPackageInfo(
"packagename",
PackageManager.GET_SIGNATURES);
for (android.content.pm.Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (PackageManager.NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
答案 1 :(得分:0)
keytool -exportcert -alias androiddebugkey -keystore {path from 6} .android \ debug.keystore | openssl sha1 -binary | openssl base64
MAC:
第7节:
keytool -exportcert -alias androiddebugkey -keystore 〜/ .android / debug.keystore | openssl sha1 -binary | openssl base64
请勿忘记添加您的活动:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}