[英]Python: find and download missing files from google drive (using a sharable link)
给定一个指向 google drive 文件夹(文件夹 ID)的可共享链接,我想将此文件夹下的 dir 列表与给定路径下的 dir 列表进行比较,并下载丢失的文件。
我读过有关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"]
任何提示/想法将不胜感激。 谢谢:)
例如,您可以轻松地从本地目录中收集文件并将它们的名称存储在列表中。
之后,为了从 Google Drive 共享驱动器中检索文件,您可以使用Files.list
请求:
GET https://www.googleapis.com/drive/v3/files
将includeItemsFromAllDrives
设置为true
,并将driveId
字段设置为共享驱动器的相应 ID。 根据您的确切需求和要求,您也可以在请求中添加其他字段。
从共享的 Google Drive 中检索文件后,您可以简单地比较两个列表并根据结果下载所需的文件。 要下载文件,您可能需要查看Drive API 文档中的此代码段:
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)
但是,我建议您从此处开始使用 Python 完成 Google Drive 快速入门。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.