3

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

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

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

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

现在,我按下了注销按钮。好的,它的工作原理。

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

但是消息中的 xxxxxx 键与我在 facebook 应用程序配置面板中输入的键不对应。

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

我不明白为什么它在第一次登录时工作正常而在第二次登录时失败....看来第二次,签名发生了变化。

帮助!!

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

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

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

4

1 回答 1

1

由于您没有使用正确的密钥库文件、签名密钥和密钥算法而面临的问题。您需要生成 Android 密钥的哈希值并将其提交到 Facebook 上的开发人员页面。

如果您在 Windows(特别是 64 位版本)上生成此哈希,请使用适用于 Windows 的 OpenSSL 0.9.8e 或 0.9.8d 版本,而不是 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 -二进制 | openssl base64

应该是这样!

于 2013-10-11T10:32:18.837 回答