Phonegap Build facebook Connect Plugin(android)

时间:2013-08-07 18:49:19

标签: android facebook plugins phonegap-build

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

我尝试了这里找到的示例代码:github.com/amirudin/pgb-fbconnect

我按照readme.md文件中的说明进行操作。

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

现在,我点击了退出按钮。好的,它确实有效。

但是,如果我再次点击登录按钮,我会收到一条facebook错误消息:“android_key_parameter无效。密钥xxxxxxxxxxxxxx与任何允许的密钥都不匹配。”

但是消息中的xxxxxx键与我在facebook app config面板中放置的键不对应。

我在这里有一个关于我的问题的视频:Dropbox video

我不明白为什么它在第一次登录时工作正常,在第二次登录时失败....似乎第二次,签名改变。

帮助!!

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

即可

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

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

1 个答案:

答案 0 :(得分: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

那应该是它!