如果您使用 Google Drive API 的 Python 快速入门教程你可以在这里找到 https://developers.google.com/drive/api/v3/quickstart/python,您将能够使用 API 设置身份验证。然后,您可以循环浏览您的云端硬盘并仅下载jpg
通过将搜索的 MIMEType 指定为image/jpeg
.
首先,您想要循环访问驱动器上的文件using files: list https://developers.google.com/drive/api/v3/reference/files/list:
# Note: folder_id can be parsed from the shared link
def listFiles(service, folder_id):
listOfFiles = []
query = f"'{folder_id}' in parents and mimeType='image/jpeg'"
# Get list of jpg files in shared folder
page_token = None
while True:
response = service.files().list(
q=query,
fields="nextPageToken, files(id, name)",
pageToken=page_token,
includeItemsFromAllDrives=True,
supportsAllDrives=True
).execute()
for file in response.get('files', []):
listOfFiles.append(file)
page_token = response.get('nextPageToken', None)
if page_token is None:
break
return listOfFiles
然后您可以使用以下命令下载它们files: get_media()
method:
import io
from googleapiclient.http import MediaIoBaseDownload
def downloadFiles(service, listOfFiles):
# Download all jpegs
for fileID in listOfFiles:
request = service.files().get_media(fileId=fileID['id'])
fh = io.FileIO(fileID['name'], 'wb')
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Downloading..." + str(fileID['name']))
您可以使用以下命令进一步细化您的搜索q
参数输入listFiles()
作为指定here https://developers.google.com/drive/api/v3/search-files.