我试图将facebook (版本:3.14 )集成到我的应用程序中,但我很快就遇到了key散列的麻烦。
当我运行命令
keytool -exportcert -alias androiddebugkey -keystore ~/..android/调试器
我得到了一个密钥哈希:XHAAVbh9dOufRUPyIWm/9ws5q10=
但是,当我试图运行facebook示例将一些内容发布到fb墙(项目名: HelloFaceBookSample)时,我很困惑,因为在logcat中,我获取了错误日志:
XHAAVbh9dOufRUPyIWm_9ws5q10:(#404)密钥散列com.facebook.http.protocol.ApiException不匹配任何存储的密钥散列。
facebook搞错了密钥哈希吗?
发布于 2014-05-02 05:25:30
在您的代码中使用这个来获取key散列:
public void KEY(){
try {
PackageInfo info = getActivity().getPackageManager().getPackageInfo("com.YourPackageName", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT);
Log.e("MY KEY HASH:", sign);
Toast.makeText(getActivity().getApplicationContext(),sign, Toast.LENGTH_LONG).show();
System.out.println(sign);
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
}确保在FB控制台上提供正确的关键字Hash。
发布于 2014-05-02 05:31:01
如果您正在使用eclipse,则可以直接使用此链接生成哈希键。
只需转到Eclipse -> -> preferences -> Android -> Build即可。并复制SHA1值并将其粘贴到下面提供的链接中。您可以使用从站点生成的键哈希并将其粘贴到Facebook设置中。
base64.php?lang=en
https://stackoverflow.com/questions/23421315
复制相似问题