App is misconfigured for Facebook login

Facebook App is misconfigured for Facebook Login for English Facebook App is misconfigured for Facebook Login for tw

 

這幾天在處理一個 Android 內嵌 Facebook 服務所發生的問題(如上圖所示),這個問題是在啟動該服務時,需要先經過一次個人在 Facebook 上的授權確認頁,而這時會在確認頁的最上方看到一排紅底的提示訊息:

英文訊息

[Your Facebook APP Name] is misconfigured for Facebook login. Press Okay to go back to the application without connecting it to Facebook.

中文訊息

因[Your Facebook APP Name]不當預設 Facebook 的登入。請按 Okay 直接返回該應用程式,無需經由 Facebook 再登入。

主要原因是因為 Android Key Hash 不符,致於是什麼原因嘛,坦白說只能歸究於 Facebook 吧XD,一來這並不是所有 APP 都會發生的症狀,再來是所獲得的 Key Hash 也都是經由官方說明的方式獲得,因此,這問題可以算在 Facebook 身上吧:P

而解決方式就是重新取得由官方給予的KEY,獲得方式要從程式碼中來取得,請程式碼要做 Facebook 授權片段 new Facebook.DialogListener() 中的 onFacebookError 處動手,下面程式碼是取自 Facebook SDK 範例 – Hashbook 之片段:

接著就開始執行 Debug 動作啦,在出現本文一開始的畫面之後,點下畫面右上角的 確定/Okey ,就會執行到中斷點處,將滑鼠移到 error.getMessage() 上,可以看到類似如下的錯誤訊息:

com.facebook.android.FacebookError: invalid_key:Android key mismatch. Your key “ Your New Key Hash ” does not match the allowed keys specified in your application settings. Check your application settings at http://www.facebook.com/developers

再來將 Error Message 中的 “ Your New Key Hash “,複製到自己的 Facebook 開發者應用程式該 APP 的  Android Key Hash 欄位裡更新,該 APP 就可以宣告復活嘍。

若是使用的 keystore 是在發佈(Release)用的已經無法進入 debug mode 去處理的話,可以在該區段裡使用 AlertDialog 將訊息送出,再將取得 Key 的那個字串輸入嘍。

 

Loading Facebook Comments ...

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *