当我尝试在Android应用程序中实现Facebook Connect时,出现以下错误。
11-02 16:41:31.660:D / Facebook-authorize(13194):登录失败: invalid_key:Android密钥不匹配。你的钥匙 “8Ioc4p / jMXoU9Lezug4nzmZfFUg”与允许的键不匹配 在您的应用程序设置中指定检查你的申请 http://www.facebook.com/developers
的设置
我重置Facebook应用程序中的密钥,但仍显示相同的错误。我该如何解决?
答案 0 :(得分:65)
答案 1 :(得分:11)
我不知道你的问题现在是否得到了解决,但我遇到了和你一样的问题,现在我找到了完整的解决方案。
您有两个用于开发的环境:debug和已签名的应用程序,当您使用此命令获取密钥时
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
您正在获取 debug.keystore 的密钥,
但是当您对应用进行签名时,您会收到一个新密钥,因为您的应用使用了新的keystore
。您可以使用此程序获取“签名应用密钥”。 http://www.easyfacebookandroidsdk.com/download/keyhash.zip但您必须使用您在应用中使用的相同密钥库进行签名。
答案 2 :(得分:5)
你的钥匙是
8Ioc4p/jMXoU9Lezug4nzmZfFUg
此密钥由您的设备加密,因此您必须让Facebook用户知道此密钥(在您在Facebook中创建的应用程序中)。
现在您必须在 native app 中复制此密钥,然后将其保存。几分钟后,您可以获得所有访问权限。
答案 3 :(得分:4)
我的错误是由于我在测试应用程序时调试密钥与签署发布版本时发布密钥不匹配造成的。
11-02 16:41:31.660:D / Facebook-authorize(13194):登录失败: invalid_key:Android密钥不匹配。你的钥匙 “8Ioc4p / jMXoU9Lezug4nzmZfFUg”与允许的键不匹配 在您的应用程序设置中指定检查你的申请 http://www.facebook.com/developers
的设置
如果您将8Ioc4p / jMXoU9Lezug4nzmZfFUg复制并粘贴到Facebook应用程序设置中的Android Key Hash字段,它应该可以正常工作。如果在测试签名版本时再次出现此错误(显示不同的键值),请在原始条目后将该附加键复制到哈希字段中,因此您有两个值。 / p>
我很惊讶Key Hash字段中允许多个条目,但看起来没问题,它解决了测试和发布版本的问题。
答案 4 :(得分:2)
使用位于debug.keystore
的{{1}}文件自动生成调试原生Android应用程序密钥。在多台计算机上开发应用程序时,应该具有相同的~/.android/debug.keystore
文件...
完成此操作后,您可以将调试原生Android应用程序密钥粘贴到应用程序的Facebook设置页面。
答案 5 :(得分:2)
您实际上并未直接使用此密钥,而是此密钥的Base64值。
请参阅https://developers.facebook.com/docs/mobile/android/build/#sig,其中说明了如何生成此内容。
答案 6 :(得分:1)
请在Facebook查看您的申请页面并确认两个密钥都相同。我想你不会在Facebook上注册你的应用程序
答案 7 :(得分:1)
您可以在应用程序中使用Facebook应用程序,以便使用它。 其中source code的 Facebook integration 就在那里。
答案 8 :(得分:1)
如果密钥无效,则必须在the Facebook developers site上创建新的Facebook应用程序。它为您提供了一个新密钥。在Facebook演示中使用该密钥。
答案 9 :(得分:0)
我有这个问题,我通过删除“C:\ Users \ user_name.android \ debug.keystore”并使用eclipse生成一个新的解决方案。然后我从Facebook更改旧的哈希密钥,它可以工作!