Android Facebook SDK:“(#404)Keyhash XXXXXX与任何存储的键哈希都不匹配”

时间:2014-03-07 07:34:34

标签: android facebook facebook-graph-api android-keystore

我正在为一款应用尝试Android Facebook集成。我是新手。

我有Facebook SDK&我试图从那里运行一些样本。当我运行示例时,我收到此错误“(#404)Keyhash XXXXXX与任何存储的键哈希都不匹配”。

XXXXXX可能是我的keyhash,我做了一些关于它是什么的基本搜索。我读了this并将XXXXXX值与我机器上的Java Keytool.exe进行了比较。与这些数字匹配。

我必须让这个工作 - 我觉得我必须在Facebook开发者网站上添加这个。有人可以告诉我这是否正确&还怎么做。或者我的方法也可能是错的,如果你能引导我采用正确的方法。这将有所帮助。

谢谢!

4 个答案:

答案 0 :(得分:13)

花了几个小时后,在这里提到几个答案。最后它对我有用。几点意见:

  1. Keytool生成的哈希码与异常中显示的哈希码不同。使用后者。
  2. 对于Facebook示例应用,我们需要为SampleApp.Here添加哈希值,如果我们输入哈希并点击SaveChanges清除它而不是保存。所以在点击SaveChanges之前需要点击回车键并确保不清除。
  3. 需要在例外中显示的hashkey末尾附加=。

答案 1 :(得分:9)

假设您知道如何创建哈希键,我建议您按照以下步骤在应用的FaceBook开发者控制台中添加哈希键,

1。创建应用后,点击左侧面板中的设置。

2. 选择添加平台。

3. 从弹出窗口中选择Android作为您的平台。

4. 在那里,您可以找到输入包名称,类名和哈希键的字段。

5. 填写相应的字段。您也可以输入多个哈希键。

注意:如果输入错误的哈希键,则会再次显示相同的错误。

希望它有所帮助。

答案 2 :(得分:1)

在生成发布哈希键时,请注意

生成用于生产的哈希密钥时,您需要在Windows上使用openssl-0.9.8e_X64.zip,不能使用openssl-0.9.8k_X64.zip

版本会产生不同的哈希键,由于某些原因9.8k无法正常工作,而9.8e则可以。

OR

使用以下流程

这就是我解决这个问题的方法 将您的APK下载到Java jdk \ bin文件夹中的PC 就我而言C:\Program Files\Java\jdk1.7.0_121\bin 转到java jdk\bin文件夹并运行cmd然后 在您的cmd中复制以下命令

keytool -list -printcert -jarfile yourapkname.apk

将SHA1值复制到剪贴板 像这样CD:A1:EA:A3:5C:5C:68:FB:FA:0A:6B:E5:5A:72:64:DD:26:8D:44:84 并打开Hex To Base 64,将您的SHA1值转换为base64。

答案 3 :(得分:0)

除了注意哈希问题外,您还需要确保设备上的 Facebook 帐户是管理员帐户、开发帐户或有权参与测试的帐户。