0

从这个问题:https ://github.com/googleapis/google-api-go-client/issues/906

使用 api v3 列出和同步 gdrive 上的 excel 文件。

const fieldsContent = "nextPageToken, files(id, name,version, mimeType, size, md5Checksum,modifiedTime,lastModifyingUser,webViewLink)"
const qInParent     = "'%s'  in parents"
const trashFalse    = " and trashed=false"
func (d *Drive) testList(id string)  {
    var driveService *drive.Service
    var pageToken string
    // .....init the service
    fileList, err := driveService.Files.List().Q(fmt.Sprintf(qInParent, id)+trashFalse).
        Fields(fieldsContent).
        PageSize(pageSize).PageToken(pageToken).Do()
    // ... print the files
}

只是一个简单的测试用例。

2021-03-04T15:14:16+08:00,得到 test.xlsx 状态:

Md5校验和:668395eb4b0db465efaf631df3aefd86

修改时间:2021-03-04T07:13:02.100Z

2021-03-04T15:16:06+08:00,得到 test.xlsx 状态:

Md5校验和:668395eb4b0db465efaf631df3aefd86

修改时间:2021-03-04T07:13:02.100Z

2021-03-04T15:16:28+08:00,得到 test.xlsx 状态:

Md5校验和:6155d40b7376d8c675c02ebd5a2394e9

修改时间:2021-03-04T07:13:48.638Z

文件第一次更改时间:2021-03-04T07:13:02.100Z,第二次更改时间: 2021-03-04T07:13:48.638Z,但是通过api,我们无法立即获取更改文件的信息,可能会延迟几分钟,有时可能会延迟10分钟。

更新:在 gdrive 上编辑文件后,几分钟内通过 api 下载文件。还是不能得到最新的文件,还是得到了以前的文件。

4

1 回答 1

0

@Tanaike 我找到了原因。如果您使用 Docs Editors 进行测试,文件看起来像这样: 在此处输入图像描述

我可以使用 api file.get 导出文件并下载最新的文件。但仍然无法立即获取 VersionNumber 和 ModifiedTime,获取最新的 VersionNumber 和 ModifiedTime 仍然有几分钟的延迟

请尝试使用 XLSX 文件进行测试,看起来像这样,您无法下载最新的文件,也无法在修改后的几分钟内获取 VersionNumber 和 ModifiedTime 并将文件保存到 gdrive 上。

在此处输入图像描述

于 2021-03-05T10:52:24.010 回答