我在我的應用程序中使用本地Facebook API。
我試圖與Facebook ID登錄到我的Android應用程序,但它表明Facebook的錯誤invalid
關鍵。將Facebook登錄集成到我的應用程序中
我該如何解決這個問題?
我在我的應用程序中使用本地Facebook API。
我試圖與Facebook ID登錄到我的Android應用程序,但它表明Facebook的錯誤invalid
關鍵。將Facebook登錄集成到我的應用程序中
我該如何解決這個問題?
http://sean.lyn.ch/2011/07/android-the-facebook-sdk-sso-and-you/
這個問題早已在這裏找到答案(和Facebook的Android SDK中),但我要去嘗試和捕捉任何人,最終在這個線程絆腳石完整的解決方案。
我正在開發使用Facebook Android SDK與Phonegap和Phonegap Facebook插件相結合。auth步驟工作得很好,直到我從在仿真器上部署到實際設備。我在運行adb logcat時看到的故障如下:
D/Facebook-authorize(2194): Login failed: invalid_key
W/System.err(2194): com.facebook.android.FacebookError: invalid_key
我不知道爲什麼這在模擬器上工作,但在設備上失敗。我懷疑Facebook有一個一攬子政策,允許未簽名的.apk應用程序,因爲它們不能分發。
的問題是,Facebook需要大約使用,以允許授權簽署應用的關鍵信息。我不知道的是,當您使用調試密鑰庫將它們推送到設備時,eclipse環境會自動簽署構建。有關調試密鑰庫的詳細信息可在Android文檔 - 簽名應用程序中找到。
爲了提供Facebook與有關的簽名信息時,需要運行命令周杰倫提供上述(重複此):
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore | openssl sha1 -binary | openssl base64
這產生字符的短字符串(其可以包括字符,如'='或'/')來標識稱爲證書的簽名。一旦你有這個,你需要把它給Facebook。
找到你的Facebook的開發者頁面上的應用程序(或創建一個新的,如果你沒有設置一個的話)。進入應用程序摘要頁面後,選擇編輯設置,然後選擇左側的移動和設備。在Android部分下,您會看到Key Hash的一個框。將上述命令中的證書字符串粘貼到此框中並點擊保存。
給它幾分鐘傳播,你應該準備就緒!
作爲一個初學者,當生成密鑰哈希的標準程序遇不到工作一樣容易,你會想它,我難住了。
,但我卻搜索了一番,發現這非常容易產生這個網站在這裏的哈希鍵的方式:http://www.helloandroid.com/tutorials/using-facebook-sdk-android-development-part-1
一旦你的已經生成的密鑰就可以按照Facebook的指南上添加哈希鍵您的應用程序在應用程序的控制面板中。
希望這會有所幫助。