正如这篇文章的标题所说,我有一个问题。我无法登录。
SessionState currentstate = session.getState();
给我一个状态CLOSED_LOGIN_FAILED
。我看了这篇文章,Android Facebook SDK 3.0 在登录时给出“remote_app_id 与存储的 id 不匹配”
我使用 keytool 生成了一个密钥并将其放在 App Dashboard 中。但这似乎没有帮助。对此的任何帮助表示赞赏
正如这篇文章的标题所说,我有一个问题。我无法登录。
SessionState currentstate = session.getState();
给我一个状态CLOSED_LOGIN_FAILED
。我看了这篇文章,Android Facebook SDK 3.0 在登录时给出“remote_app_id 与存储的 id 不匹配”
我使用 keytool 生成了一个密钥并将其放在 App Dashboard 中。但这似乎没有帮助。对此的任何帮助表示赞赏
从您的活动的 oncreate 调用以下方法,它将在 logcat 中打印一个哈希键,将其添加到 Facebook 上应用程序设置的哈希字段中。再试一次它会工作
public void printHashKey() {
try {
PackageInfo info = getPackageManager().getPackageInfo("your.package.name",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("TEMPTAGHASH KEY:",
Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
} catch (NoSuchAlgorithmException e) {
}
}
我知道这已经有一个选定的答案,但重要的是要注意,如果您尝试使用 keytool 而不是在代码中打印 keyhash,请确保使用 java 1.6 附带的 keytool 而不是 java 1.7。