Google Drive API - список файлов в общей папке, к которым я еще не обращался - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь автоматизировать загрузку файлов из общей папки Google Диска. Содержимое папки меняется ежедневно. Папка доступна всем, у кого есть ссылка на папку.

Моя проблема в том, что запрос не возвращает новые файлы, которые я еще не открывал, если я не открою новые файлы на Google Диске.

folder_id = 'xxxx...xxx'
results = drive_service.files().list(q=f"parents in '{folder_id}' and trashed = false", fields="nextPageToken, files(id, name)").execute()

Есть ли способ вывести список файлов в общей папке, которую я еще не открывал?

Я пытался инвертировать поле sharedWithMe, но это не работает.

1 Ответ

0 голосов
/ 17 июня 2020

Да, есть, но вам нужно указать, что вы хотите включить общие папки в поиск

Это можно сделать, установив includeItemsFromAllDrives и supportsAllDrives на true

В python вы можете реализовать это с помощью

folder_id = 'xxxx...xxx'
results = drive_service.files().list(supportsAllDrives=True, includeItemsFromAllDrives=True, q="parents in '{folder_id}' and trashed = false", fields = "nextPageToken, files(id, name)").execute()

UPDATE

Помните, что shared with anyone with a link означает, что пока вы не откроете файл, он не будет явно предоставлен вам, и поэтому не будет отображаться как часть вашего списка файлов. Если вы хотите изменить это, вам нужно попросить владельца указать вас как зрителя папки.

...