Android 获得;“有离线访问权”;调用GoogleAuthUtil.getToken时的权限请求

Android 获得;“有离线访问权”;调用GoogleAuthUtil.getToken时的权限请求,android,oauth-2.0,google-plus,Android,Oauth 2.0,Google Plus,我正在尝试使用android设备上的REST服务进行用户授权。第一次确认后,一切正常,但如果我想用GoogleAuthUtil.getToken获取新令牌,在用GoogleAuthUtil.clearToken清除旧令牌后,我会得到com.google.android.gms.auth.UserRecoverableAuthException:NeedPermission异常,这会导致 具有“脱机访问”权限的应用程序同意屏幕。授予权限后,我在activityresult中或使用GoogleAut

我正在尝试使用android设备上的REST服务进行用户授权。第一次确认后,一切正常,但如果我想用GoogleAuthUtil.getToken获取新令牌,在用GoogleAuthUtil.clearToken清除旧令牌后,我会得到com.google.android.gms.auth.UserRecoverableAuthException:NeedPermission异常,这会导致 具有“脱机访问”权限的应用程序同意屏幕。授予权限后,我在activityresult中或使用GoogleAuthUtil.getToken获得新令牌,但如果再次清除令牌,我仍然会收到调用GoogleAuthUtil.getToken的异常

String SCOPE = Scopes.PLUS_LOGIN;
...    
String scope = String.format("oauth2:server:client_id:%s:api_scope:%s", CLIENT_ID, SCOPE);    
String token = GoogleAuthUtil.getToken(AuthorizedActivity.this, email, scope);
...
//send received token to server for confirmation
...
try {
    GoogleAuthUtil.clearToken(AuthorizedActivity.this, token);
} catch (GoogleAuthException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
...
我的服务器端:

...    
$client = new Google_Client();
$client->setClientId('CLIENT_ID');
$client->setClientSecret('CLIENT_SECRET');
$client->setDeveloperKey('');
$client->authenticate('token_from_device');
return json_decode($client->getAccessToken())->access_token; // temporary
...
并且在清除令牌一小时后仍在发生。

所以我的问题是我做错了什么,为什么我在清除使用过的令牌后继续获得同意屏幕。我是否需要一个特定的许可证、错误的范围或我遗漏了其他内容