繁体   English   中英

将Facebook登录信息集成到我的应用中

[英]Integrating facebook logins in my app

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

我该如何解决?

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

这个问题早在这里(以及在Facebook Android SDK中)就已经回答了,但是我将尝试为最终陷入该线程的任何人捕获完整的解决方案。

我正在使用Facebook Android SDK结合Phonegap和Facebook Phonegap进行开发。在将我从在模拟器上的部署转移到实际设备之前,身份验证步骤工作得很好。 运行adb logcat时遇到的故障如下:

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

我不知道为什么在模拟器上可以正常运行,但是在设备上却无法正常运行。 我怀疑Facebook的保护政策允许未签名的.apk应用程序发布,因为它们无法分发。

问题在于,Facebook需要有关用于签署应用程序的密钥的信息,以允许授权。 我不知道的是,当您使用调试密钥库将构建推送到设备时,Eclipse环境会自动对其进行签名。 有关调试密钥库的详细信息,请参见Android文档-签名应用程序。

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

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

这会生成一串短字符串(可能包含诸如“ =”或“ /”之类的字符),用于标识称为证书的签名。 一旦有了这个,就需要将它提供给Facebook。

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

给它几分钟时间传播,您应该已经准备就绪!

作为一个初学者,当生成密钥哈希的标准过程从未像您想要的那样容易地工作时,我感到很困惑。

但是,我确实进行了很多搜索,并在此网站上找到了这种生成哈希密钥的极其简单的方法: http : //www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1

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

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM