我正在关注Facebook的教程,一切都很好。示例应用程序工作正常,但今天我得到了:
Invalid key hash. The key hash HP... does not match any stored key hashes. Configure your app key hashes at http://developers.facebook.com/app/NUMBEROFSAMPLEAPP (355198514515820)
我已经添加了两个密钥:第一个使用java的keytool,另一个使用Facebook教程中给出的代码:https://developers.facebook.com/docs/android/getting-started。第一个以DBxxxx开头,第二个以HPxxxx开头。
我应该使用哪一个?我必须在密钥的末尾添加“=”吗?如果我添加了两个键,为什么它不起作用?
这是我为获取密钥而添加的代码:
try {
PackageInfo info = getPackageManager().getPackageInfo(
"com.facebook.samples.hellofacebook",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.e("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
答案 0 :(得分:2)
对于facebook SDK版本3.18:
你的钥匙需要长度为28。所以回答你的第一个问题:你必须添加" ="如果您的密钥长度小于28,则最后
试着给你第二个问题的答案(为什么它不起作用......)。您需要使用为Facebook创建的App ID更新示例应用程序" Sample App"或developers.facebook.com/apps上的任何内容。
尝试阅读所有教程:developers.facebook.com/docs/android/getting-started/#samples。
换句话说,您需要使用Facebook的应用ID链接任何应用
如果您需要更多帮助,只需要求它;)