在 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。
来自本期: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。