保存并恢复Google Drive android的令牌

时间:2013-12-18 08:16:10

标签: android google-drive-api

我尝试通过Google的this示例对Google云端硬盘进行身份验证,它可以正常运行。但问题是我不知道如何从用户恢复以前的成功登录。
例如,当用户登录成功时,下次他们转到我的应用程序时,他们不需要再次登录。我查看了GoogleAccountCredential类,它只有getToken方法而且没有'setToken`所以我不知道怎么做。该文件没有说明任何事情。这是我的尝试:

   credential = GoogleAccountCredential.usingOAuth2(context, DriveScopes.DRIVE);

   // try to add login account into credential
   String accountName = SharePreferenceHelper.getDriveAccount(context);
    if (accountName != null) {
    credential.setSelectedAccountName(accountName);
    service = getDriveService(credential);
    }

     // try to get token again
   try {
    String token = credential.getToken();   
        Log.d(TAG,"token = " + token);
    } catch (UserRecoverableAuthException ex) {
                 startActivityForResult(ex.getIntent(), requestCode);

    } 

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:0)

您无需手动执行此操作。它已由GoogleAccountCredential

处理

此次电话

credential = GoogleAccountCredential.usingOAuth2(this, scopes);

如果保存的令牌先前已保存,

将自动恢复。

您可以在此处查看我的应用的示例源代码: https://github.com/madhur/GAnalytics/blob/develop/src/in/co/madhur/ganalyticsdashclock/MainActivity.java

它使用Google Analytics而非Google云端硬盘的差异。