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...
ログインダイアログに問題がある場合は、以下を試してください。
キーハッシュに問題がある場合は、以下を試してください。
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
にパスを追加するか、フォルダーに移動して次のコマンドを実行してください。C:\Program Files (x86)\Java\jdk1.6.0\bin
/usr/bin
debug.keystore
の場所を見つけられなかった場合は、正しいパスを確認してください。keytoolは、正しい場所がわかっていれば常にパスワードを要求します。