Lim*_*awk 8 google-api google-sheets google-drive-android-api google-sheets-api
我在Android中使用Google表格API v4.
https://developers.google.com/sheets/api/quickstart/android
我需要知道最后一次修改工作表的时间(包括用户); 我需要这个人:
我想做这样的事情:
Spreadsheet spreadsheet = sheetsService.spreadsheets().get(spreadsheetId).setIncludeGridData(true).execute();
Date date = spreadsheet.getProperties().getLastEditDate();
Run Code Online (Sandbox Code Playgroud)
但是,当然,不getLastEditDate()存在这样的属性方法.是否有参数或其他API方法来调用以获取此数据?
更好的方法是获取每个单元格的修改日期......但我会考虑整个电子表格或表格的日期.
使用 Sheets API v4 似乎无法做到这一点。
但是……看起来确实可以使用兼容的 Google Drive API v3 来完成。
注意:这个解决方案最好的部分是我可以对两个 API 使用相同的身份验证和凭据收集方法。例如,一旦我有了获取凭证的代码,我就可以交替和连续地将它用于两个 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'
}
Run Code Online (Sandbox Code Playgroud)
我已经在使用EasyPermissions获取帐户和凭据的方法。很好的例子在这里。
然后...
import com.google.api.services.drive.Drive;
Run Code Online (Sandbox Code Playgroud)
...
protected Drive driveService = new Drive.Builder(transport, jsonFactory, credential)
.setApplicationName("My Application Name")
.build();
Run Code Online (Sandbox Code Playgroud)
...异步:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2735 次 |
| 最近记录: |