2013-08-07 44 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

應該是這樣!