Download files

网友投稿 657 2022-05-28

下载文件

该驱动器API支持三种类型的下载:

文件的下载存储在谷歌驱动器。

在格式您的应用程序可以处理G的套房文件导出版本(谷歌文档,表格,幻灯片等)的下载。

通过在URL中的文件的下载webContentLink性能。

注:下载A G套房文件的唯一方法是导出和下载的文件不同的文件格式。

本指南的其余部分提供执行这些类型的下载的详细说明。

下载存储在谷歌云端硬盘中的文件

要下载存储在谷歌云端硬盘中的文件,使用 files.get方法与文件的ID来下载和alt=mediaURL参数。该alt=mediaURL参数告诉被请求的内容的下载服务器。

下面的代码片段展示了如何下载一个文件的驱动器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

Download files

while done is False:

status, done = downloader.next_chunk()

print "Download %d%%." % int(status.progress() * 100)

该段声明MIME类型,货物出口application/pdf。对于支持的每个G套房文档中的所有MIME类型的完整列表,请参阅摹套房文件和相应的出口MIME类型

在浏览器中查看文件

如果你想允许用户直接在网页浏览器,而不是通过API查看文件,请使用webContentLink。您可以将用户或者重定向到该网址,或提供它作为一个可点击的链接。该文件必须由拥有或与用户为了查看共享。

API

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MyEclipse安装陷阱攻克技巧
下一篇:浅析建行手机银行的微应用
相关文章