我遇到了Android Facebook的关键问题。所以基本上我把我的密钥哈希作为+J+3yf/mrgPgKeg1llIttpSjcws=
和我的Facebook应用程序ID 1596000240623060
:
里面的密钥哈希是使用正确的哈希:+ J + 3yf / mrgPgKeg1llIttpSjcws =
然而,当我尝试从我的Android运行时,当我进入登录页面时,它告诉我无效的关键字UfL1O1VVSEn88zyVkNdltm8X5bM与任何商店哈希键都不匹配。但我没有使用它。有什么想法吗?
提前致谢。
我将这些代码放在onCreate()页面上,我在其中调用了facebook登录名:
try {
PackageInfo info = getActivity().getPackageManager().getPackageInfo(
"nyp.edu.eneighbourhood",
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));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
从cmd开始,我的做法和你建议的一样。
答案 0 :(得分:1)
您必须使用debug.keystore生成开发哈希键,如果您有释放密钥,则生成版本哈希密钥。
根据Facebook Doc:
开发哈希:
在Mac上:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
在Windows上:
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
发布哈希密钥:
keytool -exportcert -alias YOUR_RELEASE_KEY_ALIAS -keystore YOUR_RELEASE_KEY_PATH | openssl sha1 -binary | openssl base64
注意:如果您更改了开发机器或eclipse版本,则debug.keystore也会更改,因此您必须再次生成该哈希键。
祝你好运!