我正在尝试编写一个Android应用来管理GMails。
有没有办法以编程方式“清除”确认的权限(范围)?
我已设法使用以下方式请求范围: -
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(new Scope("https://mail.google.com/"))
.requestEmail().build();
第一次运行应用时,我收到了权限确认屏幕并确认了。所以在那之后我(正确地)再没有得到确认屏幕。但我想再次测试权限屏幕。甚至不卸载应用程序都会引发它。
我更愿意在我的应用中“清除”Scope。有什么想法吗?
答案 0 :(得分:0)
使用revokeAccess
:
private void revokeAccess() {
mGoogleSignInClient.revokeAccess()
.addOnCompleteListener(this, new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
// ...
}
});
}
这将撤消服务器端记录的范围授予并清除设备上的本地令牌缓存。请参阅documentation。