Android 中的 Facebook API 需要使用哪个密码生成散列密钥?
Which password need to generate hash key for Facebook API in Android?
通过 Getting Started FaceBook API 后,我在 Android 应用程序中按下登录按钮后收到一条错误消息:
无效的密钥散列。密钥散列不匹配..
None 的现有 SO 接受答案很有用。
生成哈希值时应该填写哪个密码?或者任意密码就可以了?
我也尝试将错误消息中的哈希键填入 Facebook 站点,但没有帮助。
我正在使用 mac。
获取由以下代码生成的 keyhash 并将该 keyhash 放入您的 facebook 应用程序,在您的登录中调用此方法 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) {
}
您使用哪个 OS?
如果您使用 windows:
- 转到您的 jdk/bin 文件夹(通常在程序文件中)。
- 复制路径。
- 输入命令。
- 输入:cd {此处粘贴路径}。
- 在您的计算机中搜索您的 .android 文件夹(通常在 C:\Users\name)
- 复制路径。
- 现在,在 cmd 中输入:
keytool -exportcert -alias androiddebugkey -keystore {path from
6}.android\debug.keystore | openssl sha1 -binary | openssl base64
- 密码:android
- 复制代码并在 facebook 网页中使用。
MAC:
在第 7 节中:
keytool -exportcert -alias androiddebugkey -keystore
~/.android/debug.keystore | openssl sha1 -binary | openssl base64
不要忘记在您的 activity 中添加:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}
通过 Getting Started FaceBook API 后,我在 Android 应用程序中按下登录按钮后收到一条错误消息:
无效的密钥散列。密钥散列不匹配..
None 的现有 SO 接受答案很有用。
生成哈希值时应该填写哪个密码?或者任意密码就可以了?
我也尝试将错误消息中的哈希键填入 Facebook 站点,但没有帮助。
我正在使用 mac。
获取由以下代码生成的 keyhash 并将该 keyhash 放入您的 facebook 应用程序,在您的登录中调用此方法 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) {
}
您使用哪个 OS? 如果您使用 windows:
- 转到您的 jdk/bin 文件夹(通常在程序文件中)。
- 复制路径。
- 输入命令。
- 输入:cd {此处粘贴路径}。
- 在您的计算机中搜索您的 .android 文件夹(通常在 C:\Users\name)
- 复制路径。
- 现在,在 cmd 中输入:
keytool -exportcert -alias androiddebugkey -keystore {path from 6}.android\debug.keystore | openssl sha1 -binary | openssl base64
- 密码:android
- 复制代码并在 facebook 网页中使用。
MAC:
在第 7 节中:
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
不要忘记在您的 activity 中添加:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
}