files()。list在使用不同的pageSize

时间:2016-08-08 10:52:45

标签: google-drive-api

我有一个python脚本,试图列出给定文件夹中的所有文件和文件夹 这是python代码:

page_token = in_json.get('pageToken', None)
res = self._drive.files().list(
        orderBy='folder, name',
        pageSize=1000,
        pageToken='page_token',
        q='(\'PARENT_ID\' in parents) and (trashed = false)',
        fields='nextPageToken, files(id, parents, name, modifiedTime, size, mimeType, md5Checksum, trashed)').execute()

PARENT_ID是父文件夹的id,page_token设置为上一个响应的nextPageToken。
我要列出的文件夹(folder_0)包含4096个文件(0.a,0.b,1.a,1.b,...,2047.a,2047.b),但返回列表只包含4095个文件(603.a失踪)
我将查询过滤器q更改为'(父母中的'\'PARENT_ID \')和(name = \'603.a \')和(trashed = false)',并保持其他字段不变,文件603.a可以正常列出 然后我使用原始查询过滤器q并将pageSize更改为400/300/100,缺少不同的文件(400:缺少1353.a,300:没有丢失,100:缺少1393.b)。
(使用相同的pageSize可以获得相同的结果,即丢失相同的文件)

我尝试列出其他文件夹(folder_1,folder_2,folder_3),每个文件夹还包含4096个文件(0.a,0.b,1.a,1.b,...,2047.a,2047。 b)。
结果如下:( pageSize:丢失文件('X'表示没有遗漏文件))
folder_1:100:503.a,300:1091.a,400:1833.b,1000:X
folder_2:100:863.b,300:194.b,400:X,1000:X
folder_3:100:1085.a,300:1896.a& 64.b,400:X,1000:X

我还尝试上传(使用files()。create)并删除(使用files()。delete)文件夹(folder_0)以观察列表结果。
当我上传名称相似的文件(603_)时,会显示丢失的文件(603.a) 然后我删除我上传的文件(603_)并再次列出,第一次丢失的文件(603.a)仍然存在,但是从第二次起,文件再次消失。 以下是详细步骤:
(当pageSize = 1000时)
1. files()。list:(4095/4096)缺少603.a
2.(上传603_)→文件()。列表:(4097/4097)X
3.(删除603_)→文件()。列表:(4096/4096)X
4.(什么都不做)→文件()。列表:(4095/4096)缺少603.a
5.(上传1393_)→files()。list:(4096/4097)缺少563.a< ---另一个文件丢失

(当pageSize = 100时)
1. files()。list:(4095/4096)缺少1393.b
2.(上传603_)→文件()。列表:(4095/4097)缺少2个文件(1393.b和592.a)< ---另一个文件丢失
3.(上传1393_)→文件()。列表:(4097/4098)缺少1491.b< ---另一个文件丢失
4.(删除603_)→files()。list:(4097/4097)X
5.(删除1393_)→files()。list:(4096/4096)X
6.(什么都不做)→files()。list:(4095/4096)缺少1393.b

其他信息:
*这不是pageToken问题,因为我确保在给定的nextPageToken存在时再次发送请求,并正确连接响应对象列表。
*此情况发生在无限存储帐户中。我使用另一个无限存储帐户和列表文件夹具有相同的结构,结果列表是正确的。

我对这种情况一无所知,因为没有明确的模式可供查找 感谢您查看此问题!

0 个答案:

没有答案