首页 > 解决方案 > 下载时 Gdrive API 未检测到所选文件夹中的所有文件

问题描述

我有以下代码,但反应不是我想要的。我想下载最后创建/上传到文件夹中的文件。上传的文件都是 CSV。我意识到它没有下载最后一个。所以试图理解,我意识到只有在 Bowser 中打开它一次,它才能正确检测到最后一个文件。然后代码工作并检测到文件。任何贡献将不胜感激。

DRIVE = discovery.build('drive', 'v3', http=creds.authorize(Http()))
folder_id = "xxxxxxxxxxxxxxxxxxxxxFW4-YY" 

results = team_drive.DRIVE.files().list(pageSize=1, fields="files(createdTime,name,id)", orderBy="createdTime desc", q="'" + folder_id + "' in parents and mimeType = 'application/vnd.google-apps.spreadsheet'", supportsAllDrives=True, includeItemsFromAllDrives=True).execute()
items = results.get('files', [])

例如,如果我按照上面的代码读取前 1 个文件。我会得到:

{'files': [{'id': '1-dI4MOuqknn9-R324cTI658EhVayM98niNlrxMblvoU', 'name': 'Balance-2020-07-11', 'createdTime': '2020-07-11T02:46:04.180Z'}

但是有一个文件是在 7 月 12 日最近创建的。它没有被检测到...

标签: pythongoogle-api

解决方案


我设法使用以下代码获得正确的输出:

results = team_drive.DRIVE.files().list(pageSize=1, orderBy="createdTime desc", q="'" + folder_id + "' in parents and mimeType = 'text/csv'", supportsAllDrives=True, includeItemsFromAllDrives=True).exec$
print(results)

推荐阅读