看起来这似乎无法使用Sheets API v4完成。
然而...使用兼容的Google Drive API v3似乎是可行的。
注意:这种解决方案最好的部分是,我可以为两个API使用相同的身份验证和凭据收集方法。例如,一旦我获得了获取凭据的代码,我可以交替和连续地使用它们。
这是我所做的:
在我的build.gradle中添加了以下内容(在我的Sheets API声明下面显示)。
compile('com.google.apis:google-api-services-sheets:v4-rev468-1.22.0') {
exclude group: 'org.apache.httpcomponents'
}
compile('com.google.apis:google-api-services-drive:v3-rev69-1.22.0') {
exclude group: 'org.apache.httpcomponents'
}
我已经在获取账户和凭据方面使用了EasyPermissions
方法。这里有一个很好的例子。
然后...
import com.google.api.services.drive.Drive
...
protected Drive driveService = new Drive.Builder(transport, jsonFactory, credential)
.setApplicationName("My Application Name")
.build();
...异步:
private DateTime getSheetInformation() throws IOException {
String spreadsheetId = settings.getSpreadsheetId();
Drive.Files.Get fileRequest = driveService.files().get(spreadsheetId).setFields("id, modifiedTime");
File file = fileRequest.execute();
if (file != null) {
return file.getModifiedTime();
}
return null;
}
driveService.files().get(documentKey).setFields("modifiedTime").execute()
。 - Luke Needham