下载文件
下载云空间中的文件,如 PDF 文件。不包含飞书文档、电子表格以及多维表格等在线文档。该接口支持通过在请求头添加 Range 参数分片下载部分文件。
前提条件
调用此接口之前,你需确保应用已拥有文件的下载权限。否则接口将返回 403 的 HTTP 状态码。参考云空间常见问题第五点了解如何分享文件的下载权限给应用。更多云文档接口权限问题,参考云文档常见问题。
注意事项
本接口仅支持下载云空间中的资源文件。要下载云文档中的素材(如图片、附件等),需调用下载素材接口。
使用限制
该接口调用频率上限为 5 QPS,10000 次/天。否则会返回 1061045 错误码,可通过稍后重试解决。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://open.feishu.cn/open-apis/drive/v1/files/:file_token/download |
| HTTP Method | GET |
| 接口频率限制 | 特殊频控 |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可 | drive:drive 查看、评论、编辑和管理云空间中所有文件 drive:drive:readonly 查看、评论和下载云空间中所有文件 drive:file 上传、下载文件到云空间 drive:file:download 下载云空间下的文件 drive:file:readonly 查看和下载云空间中的文件 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 或 user_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token |
部分下载
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Range | string | 否 | 在 HTTP 请求头中,通过指定 Range 来下载文件的部分内容,单位是字节(byte)。该参数的格式为 Range: bytes=start-end,示例值为 Range: bytes=0-1024,表示下载第 0 个字节到第 1024 个字节之间的数据。 |
路径参数
| 名称 | 类型 | 描述 |
|---|---|---|
file_token | string | 文件的 token,获取方式见文件概述。 示例值:"boxcnabCdefgabcef" |
请求示例
以下代码示例展示如何使用 cURL 命令下载文件,并将文件命名为 local_file。
bash
# 将 Token 为 file_token 的云空间中的文件下载到本地,并命名为 local_file,注意 file_token、local_file 和 authorization 要替换为真实值
curl -i -X GET 'https://open.feishu.cn/open-apis/drive/v1/files/{file_token}/download' -o "{local_file}" \
-H 'Authorization: {authorization}'响应
响应头
| 名称 | 类型 | 描述 |
|---|---|---|
Content-Type | string | 文件的MIME,比如:application/vnd.openxmlformats-officedocument.wordprocessingml.document |
Content-Disposition | string | 文件名 |
HTTP状态码为 200 时,表示成功
返回文件二进制流
状态码
| HTTP 状态码 | 描述 |
|---|---|---| | 200 | 文件成功下载。返回文件二进制流。 |
| 206 | 下载部分内容成功。接口将返回指定 Range 的部分文件的二进制流。 |
| 403 | 没有下载文件的权限。要下载文件,你需确保调用身份拥有文档资源权限。详情参考云文档常见问题 3开通权限。 |
| 404 | 文件 token 不存在或文件被删除。请检查 token 是否有误以及文件是否存在。注意放置在文件夹和知识库中的文件,其 token 的获取方式不同,详情参考文件概述-文件 token 获取方式。 || | 500 | 服务端内部异常。请重试或联系技术支持。 |
后续操作
接口调用成功后,你可以通过访问你在下载时指定的本地下载目录,对已下载的文件进行下一步操作。
