摘要
尝试使用 files.export 下载 JPEG 文件,但收到错误 403 消息:“导出仅支持文档编辑器文件。”
描述
我正在尝试将 Google Drive API 用于我的一个项目,这实际上就是收集一些图片,将它们存储在 Drive 上,然后将它们加载回来进行一些处理。很直接。
就此而言,我只是遵循API 文档和其中提供的示例代码片段。现在,我可以将图片上传到存储中。尝试下载它时,我遇到了以下错误消息:
googleapiclient.errors.HttpError: <HttpError 403 when requesting https://www.googleapis.com/drive/v3/files/1D1XpQwrCvOSEy_vlaRQMEGLQJK-AeeZ7/export?mimeType=image%2Fjpeg&alt=media returned "Export only supports Docs Editors files.". Details: "Export only supports Docs Editors files.">
Run Code Online (Sandbox Code Playgroud)
用于上传图片的代码如下所示:
import io
from googleapiclient.http import MediaFileUpload, MediaIoBaseDownload
# GoogleDrive is a service created with googleapiclient.discovery.build
# upload a picture
file_metadata = {'name': 'example_on_drive.jpg'}
media = MediaFileUpload('example_upload.jpg', mimetype='image/jpeg')
file = GoogleDrive.files().create(
body=file_metadata,
media_body=media,
fields='id').execute()
Run Code Online (Sandbox Code Playgroud)
上传成功,我取回文件ID:
print(file)
{'id': '1aBoMvaHauCRyZOerNFfwM8yQ78RkJkDQ'}
Run Code Online (Sandbox Code Playgroud)
我可以在我的 Google …