使用Drive API列出文件不会返回所有文件?

时间:2017-05-17 19:25:39

标签: python python-3.x google-drive-api

我正在使用Google Drive API(v3)下载并显示用户驱动器中所有文件的元数据。最近我发现某些用户存在问题,list()方法

不返回某些文件

所有文件的列表由以下(简化的)Python代码

完成
result = self.get_service().files().list().execute()
file_list = result["files"]
while "nextPageToken" in result:
    result = self.get_service().files().list(pageToken=result["nextPageToken"]).execute()
    file_list = file_list + result["files"]

例如,一个用户有一个文件夹“H”,它应包含一定数量的文件,如驱动器网络应用程序库存中所示。处理完列表后,我找到一个对应“H”的条目,但没有parents数组中id为“H”的条目。

应用使用的权限范围是完全访问权限: “https://www.googleapis.com/auth/drive

(我在这里和Google的产品论坛上看到了类似的问题,但没有比2014年更新的内容了。)

我错过了什么吗?

编辑:请求包含已删除的文件 - 我们可以在其他结果中看到'trashed = True'参数。我也知道这不是分页问题 - nextPageToken值总是在预期时出现,我看到file_list的输出长度超过1000 - 最大页面大小

1 个答案:

答案 0 :(得分:0)

您的代码看起来不完整,因为您对files.list的调用未在结果字段中请求nextPageToken。 NB这可能是由python库完成的(我不喜欢库)。如果没有正确处理nextPageToken,您的结果将是不确定的。