2013-08-07 43 views
3

我有一个奇怪的问题,使用带有phonegap构建的facebook插件。 这听起来像是一个证书问题,但我无法弄清楚。Phonegap构建facebook连接插件(android)

我想在这里找到示例代码:github.com/amirudin/pgb-fbconnect

我跟着readme.md文件的说明。

当我第一次启动Android应用程序,当我点击“登录”按钮时,一切正常,我可以连接到Facebook应用程序。

现在,我点击注销按钮。再次,它的工作。

但是,如果我再次点击登录按钮,我有一个facebook错误消息:“无效的android_key_parameter。键xxxxxxxxxxxxxx不匹配任何允许的键。

但消息中的xxxxxx键与我放在facebook应用程序配置面板中的键不符。

我有我的问题的小视频在这里:Dropbox video

我不明白为什么它在第一次登录时工作正常,第二个过程中失败....看来,第二次,签名更改。

帮助!!

我创建了一个github repo如果有人想测试它。您只需更改config.xml中的APP_NAME和APP_ID以及index.html中的APP_ID

“几乎”有效的东西是非常令人沮丧的。

您是否成功复制我的错误/行为? (登录+注销+登录=失败)

+0

这看起来很奇怪。我会建议您在其GetSatisfaction网站上发布有关此问题的信息:http://community.phonegap.com/nitobi/products/nitobi_phonegap_build –

回答

1

由于您未使用正确的密钥库文件,签名密钥和密钥算法而导致您面临的问题。您需要生成Android密钥的哈希值并将其提交给Facebook上的开发者页面。

如果您在Windows(特别是64位版本)上生成此散列,请使用版本0.9.8e或0.9.8d的OpenSSL for Windows,而不是0.9.8k。

一旦你下载的OpenSSL,打开命令提示符(cmd.exe的)作为管理员,然后运行以下命令:

keytool -genkey -v -keystore [keystore_name].keystore -alias [alias_name] -keyalg RSA -keysize 2048 -validity 10000 

请注意alias_name,并保留所有密码andriod

现在,进入您的phonegap帐户>>编辑帐户>>点击签名键标签>>点击“添加一个键...”并提供以下信息:

Title - anything 

Alias - alias_name that you have given while generating the keystore file. 

然后,使用您生成的密钥库文件创建一个新的哈希键,然后在Facebook应用程序中更新该哈希键。

使用以下命令生成散列键。

keytool -exportcert -alias [alias_name] -keystore [keystore_filename.keystore] | openssl sha1 -binary | openssl base64

应该是这样!