如何清除GoogleApiClient默认帐户和凭据

时间:2015-06-30 16:49:58

标签: android google-play-services google-drive-android-api

我将GoogleApiClient连接到Google云端硬盘。我像这样构建客户端:

        GoogleApiClient.Builder(this)
                .addApi(Drive.API)
                .addScope(Drive.SCOPE_FILE)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .build();

我的经验是,第一次时间为此客户端发出了连接请求,显示了AccountPicker对话框以及Google云端硬盘的同意屏幕。如果用户选择一个帐户,同意并且连接成功完成,则AccountManager或某些相关功能会将所选帐户保存为默认帐户,并将驱动器范围的凭据(OAuth令牌?)保存。在后续连接请求中,为方便用户,使用保存的值,用户没有看到用于帐户选择或同意的UI。

对于开发测试,我希望能够清除默认帐户和保存的凭据,以便我可以执行连接失败解决处理。我还没有办法做到这一点。我试了这个没有成功:

String driveScope = "https://www.googleapis.com/auth/drive.file";
String tokenType = "oauth2:" + driveScope;

AccountManager.get(this).invalidateAuthToken(
    GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE, tokenType);

1 个答案:

答案 0 :(得分:10)

听起来您应该在GoogleApiClient上致电clearDefaultAccountAndReconnect()以清除所选的帐户信息。