我使用带有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
即可拥有“几乎”有用的东西是非常令人沮丧的。
您是否成功复制了我的错误/行为? (登录+登出+登录=失败)
答案 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
那应该是它!