在我的应用程序中集成facebook登录

时间:2012-05-04 13:21:35

标签: android facebook integration

我在我的应用程序中使用本机Facebook API 我正在尝试使用facebook id登录我的Android应用程序,但它显示了facebook错误invalid密钥。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

http://sean.lyn.ch/2011/07/android-the-facebook-sdk-sso-and-you/

这个问题很久以来一直在这里得到解答(以及在Facebook Android SDK中),但我会尝试为那些最终绊倒这个帖子的人抓住完整的解决方案。

我正在开发使用Facebook Android SDK结合Phonegap和Phonegap Facebook插件。在我从模拟器上部署到实际设备之前,auth步骤工作正常。我在运行adb logcat时看到的失败如下:

D/Facebook-authorize( 2194): Login failed: invalid_key
W/System.err( 2194): com.facebook.android.FacebookError: invalid_key

我不知道为什么这会在模拟器上运行但在设备上失败。我怀疑Facebook有一项全面的政策允许未签名的.apk应用程序,因为它们无法分发。

问题在于Facebook需要有关用于签署应用程序的密钥的信息才能允许授权。我不知道的是,当你使用调试密钥库将它们推送到设备时,eclipse环境会自动签名构建。有关Debug密钥库的详细信息,请参阅Android文档 - 签名应用程序。

为了向Facebook提供有关签名的信息,您需要运行Jay提供的命令(在此处重复):

keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64

这会生成一个短字符串(可能包含'='或'/'等字符),用于标识称为证书的签名。一旦你有这个,你需要把它交给Facebook。

在Facebook的开发者页面上找到您的应用程序(如果您尚未设置,请创建一个新应用程序)。进入应用程序摘要页面后,选择“编辑设置”,然后选择左侧的“移动设备”和“设备”。在Android部分下,您会看到一个Key Hash的框。将上面命令中的证书字符串粘贴到此框中,然后单击“保存”。

给它几分钟的宣传,你应该全力以赴!

答案 1 :(得分:0)

作为初学者,当生成密钥哈希的标准过程从未像您希望的那样轻松工作时,我感到难过。

我做了很多搜索,发现这个非常简单的方法在这个网站上生成哈希密钥:http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1

生成密钥后,您可以按照Facebook指南,在应用程序的控制面板中将哈希密钥添加到您的应用程序中。

希望这有帮助。