Google 云端硬盘 API 支持多种类型的下载和导出操作,如下表所列:
下载 |
|
|||
导出 |
|
本指南的其余部分将详细说明执行这些类型的下载和导出操作。
下载 blob 文件内容
如需下载存储在云端硬盘中的 blob 文件,请使用 files.get
方法以及要下载的文件 ID 和 alt=media
网址参数。alt=media
网址参数会告知服务器正在请求内容下载内容作为替代响应格式。
alt=media
网址参数是所有 Google REST API 中提供的系统参数。如果您为 Drive API 使用客户端库,则无需明确设置此参数。
以下代码示例演示了如何使用 files.get
方法通过 Drive API 客户端库下载文件。
Java
Python
Node.js
PHP
.NET
此代码示例使用了一个库方法,该方法会将 alt=media
网址参数添加到底层 HTTP 请求中。
从您的应用启动的文件下载必须通过一个允许读取文件内容的作用域获得授权。例如,使用 drive.readonly.metadata
范围的应用无权下载文件内容。此代码示例使用受限的“drive”文件范围,该范围允许用户查看和管理所有云端硬盘文件。如需详细了解云端硬盘范围,请参阅 API 专属授权和身份验证信息。
具有修改权限的用户可以通过将 copyRequiresWriterPermission
字段设置为 false
来限制只读用户的下载。
被标识为滥用(例如有害软件)的文件只能由文件所有者下载。此外,还必须添加 get
查询参数 acknowledgeAbuse=true
,以指明用户已承认存在下载潜在垃圾软件或其他滥用文件的风险。在使用此查询参数之前,您的应用应该以交互方式警告用户。
部分下载
部分下载涉及仅下载文件的特定部分。您可以使用带有 Range
标头的字节范围来指定要下载文件的部分。例如:
Range: bytes=500-999
下载较低版本的 blob 文件内容
如需下载早期版本的 blob 文件的内容,请使用 revisions.get
方法,其中包含要下载文件的 ID、修订版本的 ID 和 alt=media
网址参数。alt=media
网址参数会告知服务器正在请求内容下载内容作为替代响应格式。与 files.get
类似,revisions.get
方法也接受可选的查询参数 acknowledgeAbuse
和 Range
标头。如需详细了解如何下载修订版本,请参阅下载和发布文件修订版本。
在浏览器中下载 blob 文件内容
如需在浏览器中下载存储在云端硬盘上的 blob 文件的内容(而不是通过 API),请使用 Files
资源的 webContentLink
字段。如果用户拥有相应文件的下载权限,系统将返回一个用于下载文件及其内容的链接。您可以将用户重定向到此网址,也可以将其作为可点击的链接提供。
导出 Google Workspace 文档内容
如需导出 Google Workspace 文档字节内容,请使用 files.export
方法、要导出的文件的 ID 和正确的 MIME 类型。导出的内容不得超过 10 MB。
以下代码示例演示了如何使用 files.export
方法通过 Drive API 客户端库以 PDF 格式导出 Google Workspace 文档:
Java
Python
Node.js
PHP
.NET
此代码示例使用受限的 drive
范围,该范围允许用户查看和管理所有云端硬盘文件。如需详细了解云端硬盘范围,请参阅 API 专属授权和身份验证信息。
该代码示例还将导出 MIME 类型声明为 application/pdf
。如需查看每个 Google Workspace 文档支持的所有导出 MIME 类型的完整列表,请参阅导出 Google Workspace 文档导出 MIME 类型。
在浏览器中导出 Google Workspace 文档内容
如需在浏览器中导出 Google Workspace 文档内容,请使用 Files
资源的 exportLinks
字段。根据文档类型,系统会针对每种可用的 MIME 类型返回下载文件及其内容的链接。您可以将用户重定向到某个网址,也可以将该网址作为可点击的链接提供给用户。
在浏览器中导出较早版本的 Google Workspace 文档内容
如需在浏览器中导出较早版本的 Google Workspace 文档内容,请使用 revisions.get
方法以及要下载文件的 ID 和修订版本的 ID。如果用户拥有相应文件的下载权限,系统将返回用于下载文件及其内容的链接。您可以将用户重定向到此网址,也可以将其作为可点击的链接提供。