2017-12-05 4 views
0

GMailを管理するアンドロイドアプリを作成しようとしています。Googleのサインインスコープは「クリア」できますか?

確認された許可(スコープ)をプログラムで「クリア」する方法はありますか?

私が使用してスコープを要求するために管理している: -

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
    .requestScopes(new Scope("https://mail.google.com/")) 
    .requestEmail().build(); 

アプリを実行している最初の時間を、私は権限の確認画面を持って確認しました。それ以降、私は(正しく)確認画面をもう一度表示しません。しかし、再び権限画面をテストしたいと思います。アプリをアンインストールしなくても、それが誘発されます。

私は自分のアプリでスコープを「クリア」したいと考えています。何か案は?

+0

https://myaccount.google.com/permissionsでは許可がクリアされていますが、プログラム的なやり方は素敵です – Rhubarb65

+0

上記のmyaccountへのリンクを使用して権限をクリアすると、奇妙なことに、私のアプリで(再)告知するように頼んだ。 – Rhubarb65

+0

権限がデバイスにキャッシュされているため、デバイスをクリアするとすぐには影響がない可能性があります。 – Rhubarb65

答えて

0

使用revokeAccess

private void revokeAccess() { 
    mGoogleSignInClient.revokeAccess() 
      .addOnCompleteListener(this, new OnCompleteListener<Void>() { 
       @Override 
       public void onComplete(@NonNull Task<Void> task) { 
        // ... 
       } 
      }); 
} 

これは、サーバー側に記録スコープ許可を取り消し、デバイス上のローカルトークンのキャッシュをクリアします。 documentationを参照してください。

関連する問題