调用GoogleAuthUtil.getToken时获取"具有脱机访问权限"权限请求

Sig*_*tas 7 android oauth-2.0 google-plus

我试图通过Android设备的REST服务进行用户授权.在首先确认一切正常,但如果我想获得新令牌GoogleAuthUtil.getToken与清除旧令牌之后GoogleAuthUtil.clearToken我得到com.google.android.gms.auth.UserRecoverableAuthException:NeedPermission例外,这会导致应用程序同意画面具有"具有脱机访问权限"权限.之后,我的用户授予权限我获得新令牌onActivityResult或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();
}
...
Run Code Online (Sandbox Code Playgroud)

和我的服务器端:

...    
$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
...
Run Code Online (Sandbox Code Playgroud)

清除令牌后一小时后仍然会发生这种情况.

所以我的问题是我做错了什么以及为什么我在清除使用过的令牌后继续获得同意屏幕.我是否需要特定的许可,错误的范围或我缺少其他东西?