【问题标题】:How to sign out of a Google Drive account?如何退出 Google Drive 帐户?
【发布时间】:2015-06-11 09:29:58
【问题描述】:

如何退出 Google 云端硬盘服务?我不想切换帐户,但要明确退出。

我正在开发一个应用程序,该应用程序将使用用户的 Google 云端硬盘存储空间以及其他存储服务。因此,我需要允许用户退出 Google Drive。

【问题讨论】:

    标签: android google-drive-api google-api-client


    【解决方案1】:

    我发现这行得通。这些是我使用的相同登录选项。替换为您自己的。

    我把它放在我的登录代码之前,以便用户每次都选择一个帐户。

        val signInOptions = GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN).requestScopes(Drive.SCOPE_FILE).requestScopes(Drive.SCOPE_APPFOLDER).build()
        val googleSignInClient = GoogleSignIn.getClient(this, signInOptions)
        googleSignInClient.signOut()
    

    【讨论】:

      【解决方案2】:

      暂且不说,我认为这是一个糟糕的 API 实现,这就是您注销的方式。

      mGoogleApiClient.unregisterConnectionCallbacks(mConnectionCallbacksListener);
      mGoogleApiClient.unregisterConnectionFailedListener(mOnConnectionFailedListener);
      mGoogleApiClient.clearDefaultAccountAndReconnect();
      

      取消注册回调是为了避免 API 显示 Google 帐户选择器,换句话说,是为了避免重新连接。如果您稍后要登录任何 Google 服务,请记得重新设置回调!

      您可以选择获取操作的结果:

      mGoogleApiClient.clearDefaultAccountAndReconnect().setResultCallback(new ResultCallback<Status>() {
              @Override
              public void onResult(Status status) {
                  // Optional
              }
          });
      

      【讨论】:

      • 我不同意 GoogleApiClient 完全实施得很糟糕。我会说这很愚蠢。它不仅没有提供明确的退出方式。在每个 connect() 上强制选择和帐户几乎是不可能的,您必须求助于技巧和不必要的标志。你对这个问题有什么想法吗?
      • 遇到了同样的问题。虽然 API 看起来很奇怪(我希望像 disconnect 和 clearAccount 这样的方法)这应该被标记为答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-08
      • 2023-04-03
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多