可以谷歌登录范围被“清除”?

时间:2017-12-05 14:45:15

标签: android google-signin

我正在尝试编写一个Android应用来管理GMails。

有没有办法以编程方式“清除”确认的权限(范围)?

我已设法使用以下方式请求范围: -

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

第一次运行应用时,我收到了权限确认屏幕并确认了。所以在那之后我(正确地)再没有得到确认屏幕。但我想再次测试权限屏幕。甚至不卸载应用程序都会引发它。

我更愿意在我的应用中“清除”Scope。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

使用revokeAccess

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

这将撤消服务器端记录的范围授予并清除设备上的本地令牌缓存。请参阅documentation