疑難解決

以下是 Android 專用 Facebook 登入的常見問題和解決方案。

我遇到登入對話框錯誤。

我獲取了原生登入對話框權限,但用戶未能驗證身份。傳回的 Logcat 異常錯誤訊息如下所示:

…W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id 與儲存的 ID 不相符 

或者,

我看到非原生登入對話框,當中包含以下錯誤訊息:

…應用程式錯誤配置 Facebook 登入… 

如果您遇到登入對話框問題,可嘗試以下解決方案:

我的密鑰雜湊無效。

如果您遇到密鑰雜湊問題,可嘗試以下解決方案:

  • 在將新密鑰雜湊加入應用程式管理中心時,請務必儲存變更
  • 您輸入的密碼不正確。預設 Keystore 密碼:「android」。
  • 將您傳送至 Facebook 的密鑰雜湊複製及黏貼至應用程式管理中心儲存變更,然後在主要活動中為 onCreate() 作出以下修改:
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                    
         try {
             PackageInfo info = getPackageManager().getPackageInfo(
                               "{your-package-name}",                  //Insert your own package name.  
                                PackageManager.GET_SIGNATURES);
             for (Signature signature : info.signatures) {
                 MessageDigest md = MessageDigest.getInstance("SHA");
                 md.update(signature.toByteArray());
                 Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
                 }
              } catch (NameNotFoundException e) {
                      
              } catch (NoSuchAlgorithmException e) {
                      
              }
               ...

我遇到 Keytool 錯誤。

  • 如果您看到 Command not found 錯誤訊息,請將路徑加至全域 PATH,或前往該資料夾運行以下指令:
    若是 Windows:C:\Program Files (x86)\Java\jdk1.6.0\bin
    若是 Mac:/usr/bin
  • 如果 Keytool 找不到您的 debug.keystore 位置。檢查並找出正確路徑。當 Keytool 擁有正確位置時,將一律要求您輸入密碼。