Google Drive API 支持多种类型的下载和导出操作,如下表所示:
下载操作 |
|
||||
导出操作 |
|
在下载或导出文件内容之前,请验证用户是否可以使用 files
资源上的 capabilities.canDownload
字段下载文件。
如需了解本文中提及的文件类型(包括 Blob 文件和 Google Workspace 文件)的说明,请参阅文件类型。
本指南的其余部分将详细说明如何执行这两种下载和导出操作。
下载 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”文件级范围,允许用户查看和管理您的所有云端硬盘文件。如需详细了解云端硬盘的范围,请参阅选择 Google 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
标头。如需详细了解如何下载修订版本,请参阅管理文件修订版本。
请求协议如下所示。
GET https://www.googleapis.com/drive/v3/files/{FILE_ID
}/revisions/{REVISION_ID
}?alt=media
在浏览器中下载 blob 文件内容
如需在浏览器中(而非通过 API)下载存储在云端硬盘上的 blob 文件的内容,请使用 files
资源的 webContentLink
字段。如果用户对文件有下载权限,系统会返回用于下载文件及其内容的链接。您可以将用户重定向到该网址,也可以将该网址作为可点击的链接提供给用户。
在长时间运行的操作期间下载 blob 文件内容
如需在长时间运行的操作期间下载 blob 文件的内容,请使用 files.download
方法和要下载的文件的 ID。您可以选择设置修订版本的 ID。这是下载 Google Vids 文件的唯一方式。如需了解详情,请参阅管理长时间运行的操作。
导出 Google Workspace 文档内容
如需导出 Google Workspace 文档字节内容,请使用 files.export
方法,并提供要导出的文件的 ID 和正确的 MIME 类型。导出的内容大小上限为 10 MB。
以下代码示例展示了如何使用 files.export
方法使用 Drive API 客户端库以 PDF 格式导出 Google Workspace 文档:
Java
Python
Node.js
PHP
.NET
此代码示例使用受限的 drive
范围,允许用户查看和管理您的所有云端硬盘文件。如需详细了解云端硬盘的范围,请参阅选择 Google 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 生成导出链接,以便您执行下载操作。如果用户对文件有下载权限,系统会返回用于下载文件及其内容的链接。您可以将用户重定向到该网址,也可以将该网址作为可点击的链接提供给用户。
在长时间运行的操作期间导出 Google Workspace 文档内容
如需在长时间运行的操作期间导出 Google Workspace 文档内容,请使用 files.download
方法,并提供要下载的文件的 ID 和修订版本的 ID。如需了解详情,请参阅管理长时间运行的操作。