疑難排解

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

出現「登入」對話方塊錯誤。

我取得原生「登入」對話方塊權限,但該用戶未經過驗證。傳回的 logcat 例外狀況錯誤看起來如下:

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

我看到非原生「登入」對話方塊,而且包含看起來如下的錯誤:

……應用程式錯誤設定 Facebook 登入…… 

如果您遇到有關「登入」對話方塊的問題,請嘗試以下操作:

我的密鑰雜湊無效。

如果您遇到有關密鑰雜湊的問題,請嘗試以下操作:

  • 當您將密鑰雜湊新增至應用程式主控板時,請務必儲存變更
  • 您輸入的密碼不正確。預設的密鑰儲存區密碼:「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) {
                      
              }
               ...

出現密鑰工具錯誤。

  • 如果出現 Command not found 錯誤,請將路徑新增至全域 PATH,或是前往資料夾執行下列命令:
    在 Windows 上:C:\Program Files (x86)\Java\jdk1.6.0\bin
    在 MAC 上:/usr/bin
  • 如果密鑰工具找不到您的 debug.keystore 位置。請檢查路徑是否正確。當密鑰工具找到正確的位置時,會永遠詢問密碼。