Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Google Drive API v3 files.export方法抛出403错误:“0”;导出仅支持文档编辑器文件。”;_Python_Google Drive Api_Mime Types_Imagedownload - Fatal编程技术网

Python Google Drive API v3 files.export方法抛出403错误:“0”;导出仅支持文档编辑器文件。”;

Python Google Drive API v3 files.export方法抛出403错误:“0”;导出仅支持文档编辑器文件。”;,python,google-drive-api,mime-types,imagedownload,Python,Google Drive Api,Mime Types,Imagedownload,摘要 尝试使用files.export下载JPEG文件,但收到错误403消息:“export仅支持文档编辑器文件。” 说明 我试图在我的一个项目中使用GoogleDriveAPI,它实际上是收集一些图片,将它们存储在驱动器上,然后将它们重新加载以进行处理。非常严格。 在这一点上,我只是简单地遵循其中提供的示例代码片段。现在,我可以上传一张图片到存储器中。尝试下载时,我遇到以下错误消息: googleapiclient.errors.HttpError: <HttpError 403 whe

摘要
尝试使用files.export下载JPEG文件,但收到错误403消息:“export仅支持文档编辑器文件。”

说明
我试图在我的一个项目中使用GoogleDriveAPI,它实际上是收集一些图片,将它们存储在驱动器上,然后将它们重新加载以进行处理。非常严格。
在这一点上,我只是简单地遵循其中提供的示例代码片段。现在,我可以上传一张图片到存储器中。尝试下载时,我遇到以下错误消息:

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.">
上传成功,我找回文件的ID:

print(file) 
{'id': '1aBoMvaHauCRyZOerNFfwM8yQ78RkJkDQ'}
我可以在我的谷歌硬盘上看到它。
然后我尝试访问同一个文件:

request = GoogleDrive.files().export_media(fileId=file.get('id'), mimeType="image/jpeg")
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))
错误发生的时间点。我看到网站上的API资源管理器返回了相同的错误,这就是为什么我试图得出结论,我的代码不应该受到责备。这个
文件.export
只有两个输入,我不知道我是如何正确使用它的。我查看了类似的问题,但大多数问题都涉及下载文本文档,我的错误消息告诉我这与doctype有关。我是否使用了错误的
mimeType

在官方页面上,不显示此特定错误消息


您有什么建议吗?

导出的错误消息中,导出仅支持文档编辑器文件。
为了下载除Google Workspace文档(文档、电子表格、幻灯片等)以外的文件,很遗憾,无法使用“文件:导出”方法。在您的情况下,当您想要下载图像文件时,请使用“文件:获取”的方法。当您的脚本被修改时,它将变成如下所示

发件人: 致: 参考:
    • 关于使用“导出”和“获取”下载文件,您可以在上面的官方文件中看到

导出的错误消息中,仅支持文档编辑器文件。
为了下载除Google Workspace文档(文档、电子表格、幻灯片等)以外的文件,不幸的是,无法使用“文件:导出”的方法。在您的情况下,当您想要下载图像文件时,请使用“文件:获取”的方法。当您的脚本被修改时,它将变成如下所示

发件人: 致: 参考:
    • 关于使用“导出”和“获取”下载文件,您可以在上面的官方文件中看到
request = GoogleDrive.files().export_media(fileId=file.get('id'), mimeType="image/jpeg")
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))
request = GoogleDrive.files().export_media(fileId=file.get('id'), mimeType="image/jpeg")
request = GoogleDrive.files().get_media(fileId=file.get('id'))