2013-04-05 40 views
3

我试图使用带有phonegap的facebook连接插件,我有一个奇怪的问题。我使用自己的手机(Samsung Galaxy Note II)进行调试。我已安装HackBook示例应用程序。Phonegap 2.4 Facebook插件登录不起作用

当我启动它,然后点击“登录到Facebook”按钮,当地的Facebook应用程序启动并提示登录页面。我输入我的FB凭据,而不是显示我的测试Facebook应用程序授予,它显示三星Galaxy Note II应用程序...

现在,如果我从我的手机中删除Facebook应用程序,并重新启动hackbook应用程序,登录按钮现在显示Facebook登录页面的“网络”版本,一切工作正常。总结:如果facebook应用程序安装在我的手机上,hackbook示例应用程序会使用它执行登录步骤,但它希望授予Galaxy Note II FB应用程序而不是我自己的应用程序。

如果我删除我的手机的Facebook应用程序,一切工作正常。

我需要帮助

谢谢

+0

你看到在你的Android日志什么奇怪的地方(试试'CatLog'应用程序或直ADB)当你有Facebook应用程序安装? – ashes999 2013-04-05 13:40:23

回答

0

我在这里分享钱德拉 - kantha的答案https://github.com/amirudin/pgb-fbconnect/issues/1#issuecomment-26134737


以下是此问题的修复!!!

您需要生成Android密钥的哈希值并提交给Facebook上的开发者页面(https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/)以使其工作。此外,如果要生成在Windows上的散列(特别是64个版本),

请使用版本0.9.8e或的OpenSSL 0.9.8d为Windows而不是0.9.8k。

下载OpenSSL的位置:https://code.google.com/p/openssl-for-windows/downloads/list

一旦你下载了OpenSSL的,提取文件,然后打开你的OpenSSL的文件夹复制bin文件夹的路径,然后添加到系统环境变量PATH。

的Android签名:

的Adobe®的PhoneGap构建™可以让你签上你的Android版本,所以它们适用于提交到Android Market。要准备发布版本,首先需要生成签名密钥库文件。全部细节都低于可供选择:

获得合适的私有密钥:

1)下载并安装Java。 http://www.java.com/en/download/index.jsp

2)设置JAVA_HOME目录:http://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html

3)打开命令提示(CMD。exe文件),为管理员,则执行如下命令:

密钥工具-genkey -v -keystore [keystore_name]的.keystore -alias [ALIAS_NAME] -keyalg RSA -keysize 2048 -validity 10000

请注意ALIAS_NAME 。

保留所有密码 “机器人”

4)使用Keytool会要求存储密码。输入密码并确认:

step_4_android_keystore_pass

5)接下来,密钥工具将要求提供额外资料。提供适当的: step_5_additional_info

6)接下来,keytool将询问密码的别名。如果它与密钥库密码相同,则返回。 Othewise输入密码并确认:

step_6_alias_password

7)您的签名密钥现在准备提交:

step_7_keystore_ready

提交建设 8)转到帐户>编辑设置>签名键的标签。 step_8_edit_account_settings

9)点击'add a key ...'并提供以下信息。 标题 - 任何东西 别名 - 您在生成密钥库文件时给出的别名。

step_9_add_key

解锁密钥。 10)转到帐户>编辑设置>签名密钥的标签:

step_10_edit_account_settings

11)点击“锁定”按钮,并提供以下:证书密码=>参照步骤#6库密码=>参考步骤#4

step_11_unlock_key

生成新的哈希键

现在你将有使用已生成的密钥库文件来生成新的hashkey。打开你的命令行并运行下面的命令。

keytool -exportcert -alias [别名] -keystore [your_keystore_path \ keystorefilename] .keystore | openssl sha1 -binary | openssl base64

现在复制哈希键并添加到您的Facebook应用程序。

**现在确保您选择的关键在PhoneGap的同时建立你的应用程序 构建

0

你需要确保你在Facebook的应用信息中心(原生Android应用程序部分)添加关键字hash。您需要散列用于签署应用程序的密钥。还有一件事,确保包名是正确的,并启用Facebook登录。 (与screencaps)

来源: