ユーザーが Facebook 設定ページを介してアプリへのアクセスを取り消したときに、Facebook への共有で発生する可能性のあるエラーを処理しようとしています。
Facebook のドキュメントには次のように書かれています。
ただし、これは、ユーザーがアプリへのアクセスを取り消した可能性がある状況や、ユーザーがパスワードを変更した場合を考慮していないことに注意してください。常に無効な access_token に注意し、ユーザーをリダイレクトしてアプリを再承認する必要があります。無効なアクセス トークンの場合、onComplete() メソッドの「response」パラメータで次のエラーが返されます。
私のコード:
facebook.dialog(activity, "feed", params, new DialogListener()
{
@Override
public void onFacebookError(FacebookError e)
{
Log.printMethod();
showErrorToast(activity, e);
}
@Override
public void onError(DialogError e)
{
Log.printMethod();
showErrorToast(activity, e);
}
@Override
public void onComplete(Bundle values)
{
Log.printMethod();
}
@Override
public void onCancel()
{
Log.printMethod();
}
});
これらのメソッドのいずれも呼び出されないという問題があるため、ユーザーがアクセス許可を取り消したという手掛かりを得ることができず、再度承認するように依頼する必要があります。
代わりに、ユーザーは webview でこのようなものを見ます。何か案は?