我尝试通过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);
}
有人知道怎么做吗?
答案 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云端硬盘的差异。