ユーザーが許可 A、B、C を求められ、B を拒否するとします。ログインは失敗しますが、再度ログインを実行しようとすると、許可を受け入れるか取り消すことができるダイアログを表示する代わりに、「あなた」というメッセージが表示されるダイアログが表示されます。 ve alreadyauthorized app name " が表示され、権限 B は拒否されたままです。
このコードを使用して Facebook ログインを実行しています。
セットアップ コード:
FacebookSdk.sdkInitialize(getApplicationContext());
...
if (mCallbackManager == null) {
mCallbackManager = CallbackManager.Factory.create();
mDeniedPermissions = new ArrayList<>(Arrays.asList(...));
}
ログインコード:
LoginManager.getInstance().registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
...
mDeniedPermissions = loginResult.getRecentlyDeniedPermissions();
}
...
});
LoginManager.getInstance().logInWithReadPermissions(this, mDeniedPermissions);
取り消された権限のみを再度要求しようとしましたLoginManager.getInstance().logOut()
が、セッションをクリアするために実行されましたが、何も機能していないようです... FacebookアプリまたはWebサイトのみを使用して取り消されたら、それらを再度復元します.
どうすればこれを解決できますか?
ps:この質問はこれと同じですが、私の場合は解決策がうまくいきません。私も試しました。