我正在使用此方法对 Google Drive 进行身份验证: https ://developers.google.com/drive/quickstart-android
选择帐户效果很好。现在我想将用户凭据存储在首选项中。我可以保存帐户名称,然后再恢复它。我想重用凭据以供将来使用。
是否可以使用 Google Play 服务和 GoogleAccountCredential 重新认证?
这是我的场景:
- 开始活动
- 搜索已保存的凭据
- 如果不是 -> 显示帐户选择器(这是有效的)
- 如果我选择帐户 - 将凭据保存到首选项。
现在我关闭我的应用程序并再次运行。
- 开始活动
- 搜索已保存的凭据
- 是 - 有保存的凭据。我想使用它们。
我正在尝试这样的事情:
credential = GoogleAccountCredential.usingOAuth2(GoogleDriveBackup.this, DriveScopes.DRIVE_FILE);
//use saved account (stored[0] is OK)
credential.setSelectedAccountName(stored[0]);
credential.getToken();
service = getDriveService(credential);
在哪里:
private Drive getDriveService(GoogleAccountCredential credential) {
return new Drive.Builder(AndroidHttp.newCompatibleTransport(),
new GsonFactory(), credential).build();
}
这是行不通的。我从 GoogleJsonResponseExcelption 收到 500 个内部服务器错误。使用适用于 Android 的 Google Play 服务的最佳方法是什么。