在 gdrive 上更改文件后无法立即获取最新修订版

Cannot get the newest revision immediately after the file changed on gdrive

来自本期: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 下载文件。还是获取不到最新的文件,还是获取到上一个。

@Tanaike 我找到原因了。 如果您使用 Docs Editors 文件进行测试,则文件如下所示:

我可以使用 api file.get 导出文件并下载 最新的 但是还是不能马上获取到VersionNumber和ModifiedTime,还要等几分钟才能获取到最新的VersionNumber和ModifiedTime

请尝试用类似这个的XLSX文件进行测试,在gdrive上修改并保存文件后,您无法下载最新文件,也无法在几分钟内获取VersionNumber和ModifiedTime。