Python: поиск и загрузка отсутствующих файлов с диска Google (с помощью ссылки для совместного использования)
Учитывая общую ссылку на папку диска Google (идентификатор папки), я хотел бы сравнить список каталогов в этой папке со списком каталогов по заданному пути и загрузить недостающие файлы.
Я читал о
PyDrive
но не смог найти элегантный способ доступа к папке диска без аутентификации.
Например:
files_under_gdrive = ["File1", "File2", "File3"]
files_under_given_path = ["File1", "some_other_file"]
# Download missing files found only in Google Drive
...
files_under_given_path = ["File1", "some_other_file", "File2", "File3"]
Любая подсказка / идея будет принята с благодарностью. Спасибо :)
1 ответ
Вы можете легко начать со сбора файлов из локального каталога и, например, сохранения их имен в списке.
Впоследствии, чтобы получить файлы с общего диска Google Drive, вы можете использовать
Files.list
запрос:
GET https://www.googleapis.com/drive/v3/files
С
includeItemsFromAllDrives
установлен в
true
и
driveId
в поле установлен соответствующий идентификатор общего диска. В зависимости от ваших конкретных потребностей и требований вы также можете добавить в запрос другие поля.
После получения файлов с общего Google Диска вы можете просто сравнить два списка и на основе результатов загрузить необходимые файлы. Для загрузки файлов вы можете проверить этот фрагмент из :
file_id = 'ID_OF_THE_FILE_TO_DOWNLOAD'
request = drive_service.files().get_media(fileId=file_id)
fh = io.BytesIO()
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print "Download %d%%." % int(status.progress() * 100)
Тем не менее, я рекомендую вам начать с заполнения Google Drive Quick Start with Python .