我在 Play Store 上有一个生产应用程序,它使用 Facebook SDK 登录。 当我从 Eclipse 调试应用程序时没有问题,但是当它投入生产时,在 Facebook 向我询问权限后,它给了我以下错误。 我在 developer.facebook.com 上的应用页面上添加了使用 keytool 生成的 key 哈希:
keytool -exportcert -alias diego -keystore "C:\Users\Diego\Desktop\CeluChat.KeyStore" | "C:\openssl\bin\openssl.exe" sha1 -binary | "C:\openssl\bin\openssl.exe" base64
CeluChat.KeyStore 是我导出签名应用程序时使用的 keystore ,当 keytool 提示我输入密码时,我在导出时输入了相同的密码。
但是在生产(从 Play 商店下载)给我的错误是:
10-20 22:21:10.752: W/fb4a(:):BlueServiceQueue(5872): com.facebook.http.protocol.ApiException: Key hash VQ3XhZb5_tBH9oGe2WW32DDdNS0 does not match any stored key hashes.
异常中的 Key Hash 与 keytool 生成的 Key Hash 不同。无论如何,我在 Facebook 上添加了 Key Hash,但它仍然无法正常工作。
最佳答案
Facebook 使用 _ 替换 +,- 和/的一些方法
所以只需尝试将 _ 替换为 +、- 和/并添加该哈希键。
希望它应该工作。
关于Android 应用程序 key 哈希与任何存储的 key 哈希不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19485004/