トラブルシューティング

Android用Facebookログインでよく発生する問題とその解決方法を以下に示します。

ログインダイアログのエラーが発生します。

ネイティブログインダイアログのアクセス許可を取得しましたが、利用者が認証されません。logcatに次のような例外エラーが返されます。

...W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id 

または

非ネイティブのログインダイアログに、次のようなエラーが表示されます。

...App is Misconfigured for facebook login... 

ログインダイアログに問題がある場合は、以下を試してください。

キーハッシュが無効です。

キーハッシュに問題がある場合は、以下を試してください。

  • 新しいキーハッシュをアプリダッシュボードに追加したら、必ず[変更を保存]をクリックします。
  • 入力したパスワードが誤っていないかを確認します。デフォルトのキーストアパスワードは「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は、正しい場所がわかっていれば常にパスワードを要求します。