Download files
下载文件
该驱动器API支持三种类型的下载:
- 文件的下载存储在谷歌驱动器。
- 在格式您的应用程序可以处理G的套房文件导出版本(谷歌文档,表格,幻灯片等)的下载。
- 通过在URL中的文件的下载
webContentLink
性能。
注:下载A G套房文件的唯一方法是导出和下载的文件不同的文件格式。
本指南的其余部分提供执行这些类型的下载的详细说明。
下载存储在谷歌云端硬盘中的文件
要下载存储在谷歌云端硬盘中的文件,使用 files.get方法与文件的ID来下载和alt=media
URL参数。该alt=media
URL参数告诉被请求的内容的下载服务器。
下面的代码片段展示了如何下载一个文件的驱动器API客户端库。
-
file_id = '0BwwA4oUTeiV1UVNwOHItT0xfa2M'
-
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)
此代码段使用executeMediaAndDownloadTo()
这增加了该方法alt=media
的URL参数到底层HTTP请求。
从您的应用程序启动文件下载至少需要对该文件进行读取访问。您的应用程序必须与范围,使文件内容读访问授权。例如,使用一个应用程序drive.readonly.metadata
范围将无权下载文件的内容。拥有修改权限的用户可以限制通过设置下载由只读用户 viewersCanCopyContent
领域false
。要了解更多关于范围,是指 验证用户。
确定为档案虐待 (恶意软件等)只能由所有者下载。此外,查询参数acknowledgeAbuse=true
必须包含以表明用户已确认下载的潜在恶意软件的风险。你的应用程序应该使用此查询参数交互之前向用户发出警告。
部分下载
部分下载需要将文件下载的只是一个特定部分。您可以通过使用一个字节范围与指定下载你想要的文件的部分 Range
标题。例如:
Range: bytes=500-999
注:部分下载而出口谷歌文档不支持
下载谷歌文档
下载使用G套房文档 files.export方法。出口使用同样的 alt=media
方法,因为在下载驱动器以外的内容。
-
file_id = '1ZdR3L3qP4Bkq8noWLJHSr_iBau0DNT4Kli4SxNc2YEo'
-
request = drive_service.files().export_media(fileId=file_id,
-
mimeType='application/pdf')
-
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)
该段声明MIME类型,货物出口application/pdf
。对于支持的每个G套房文档中的所有MIME类型的完整列表,请参阅摹套房文件和相应的出口MIME类型
在浏览器中查看文件
如果你想允许用户直接在网页浏览器,而不是通过API查看文件,请使用webContentLink
。您可以将用户或者重定向到该网址,或提供它作为一个可点击的链接。该文件必须由拥有或与用户为了查看共享。
文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。
原文链接:fizzz.blog.csdn.net/article/details/103227959
- 点赞
- 收藏
- 关注作者
评论(0)