Java 未生成密钥哈希
我试图从我的Android应用程序中获取密钥哈希。Facebook SDK 3.0提供了以下代码:Java 未生成密钥哈希,java,android,facebook,keytool,android-keystore,Java,Android,Facebook,Keytool,Android Keystore,我试图从我的Android应用程序中获取密钥哈希。Facebook SDK 3.0提供了以下代码: keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64 当我运行这个程序时,它首先会显示二进制:无错误;然后它要求输入密码,我输入的密码是android。按enter键后,它将在我期望的密码处返回空
keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | openssl sha1 -binary | openssl base64
当我运行这个程序时,它首先会显示二进制:无错误
;然后它要求输入密码,我输入的密码是android
。按enter键后,它将在我期望的密码处返回空白
我使用了上面提到的解决方案;这确实给了我一个密钥散列,但当我使用它时,所有会话都没有打开
我的java密钥工具存储在:
C:\Program Files\Java\jre7\bin
F:\openssl\bin
OpenSSL存储在:
C:\Program Files\Java\jre7\bin
F:\openssl\bin
当我在Windows的MD中运行它时,我给出了正确的文件路径
请帮我解决这个问题 Windows总是有点毛茸茸的,很难找到键盘工具,我建议另一种选择。在应用程序的
onCreate
方法中运行以下代码:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"COM.YOUR.PACKAGE.NAME",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("My Keyhash", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (Exception e) {
Log.e("My Keyhash", e.toString());
}
并观察logcat中的日志输出,以获取您的keyhash。确保将上面的包名替换为您自己的包名
编辑:
密钥哈希已正确上载,但会话仍未打开。。。在登录facebook时,它首先通过应用程序请求我的许可,然后在我接受后弹出“com.facebook.facebookexception:Session Provided to a request in unopened state” 确保片段/活动中包含以下代码:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
uiHelper.onActivityResult(requestCode, resultCode, data);
}
你可能把密码弄错了 看看我的答案
希望这能有所帮助谢谢。。密钥散列已生成,但我已更新我的应用程序,但会话仍然无法工作。如果需要帮助(例如堆栈跟踪、错误消息),则必须提供更多详细信息。密钥散列已正确上载,但会话仍无法打开。。。在登录facebook时,它首先通过应用程序请求我的许可,然后在我接受一个弹出窗口后显示“com.facebook.facebookexception:Session Provided to a request in unopened state”是该代码的一个版本存在。。。问题是,即使是facebook 3.0 SDk中提供的示例应用程序也无法运行,并出现上述错误。我会尝试在FB设置中从授权应用程序中删除该应用程序,然后重新验证该应用程序。除此之外,您的应用程序似乎存在配置问题,因为我没有听到示例应用程序出现此问题的报告,我也无法重新编程。这里还有另一个问题: