Skip to content

下载文件

下载云空间中的文件,如 PDF 文件。不包含飞书文档、电子表格以及多维表格等在线文档。该接口支持通过在请求头添加 Range 参数分片下载部分文件。

前提条件

调用此接口之前,你需确保应用已拥有文件的下载权限。否则接口将返回 403 的 HTTP 状态码。参考云空间常见问题第五点了解如何分享文件的下载权限给应用。更多云文档接口权限问题,参考云文档常见问题

注意事项

本接口仅支持下载云空间中的资源文件。要下载云文档中的素材(如图片、附件等),需调用下载素材接口。

使用限制

该接口调用频率上限为 5 QPS,10000 次/天。否则会返回 1061045 错误码,可通过稍后重试解决。

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/drive/v1/files/:file_token/download
HTTP MethodGET
接口频率限制特殊频控
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可drive:drive 查看、评论、编辑和管理云空间中所有文件 drive:drive:readonly 查看、评论和下载云空间中所有文件 drive:file 上传、下载文件到云空间 drive:file:download 下载云空间下的文件 drive:file:readonly 查看和下载云空间中的文件

请求头

名称类型必填描述
Authorizationstringtenant_access_tokenuser_access_token 值格式:"Bearer access_token" 示例值:"Bearer u-7f1bcd13fc57d46bac21793a18e560" 了解更多:如何选择与获取 access token

部分下载

名称类型必填描述
Rangestring在 HTTP 请求头中,通过指定 Range 来下载文件的部分内容,单位是字节(byte)。该参数的格式为 Range: bytes=start-end,示例值为 Range: bytes=0-1024,表示下载第 0 个字节到第 1024 个字节之间的数据。

路径参数

名称类型描述
file_tokenstring文件的 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-Typestring文件的MIME,比如:application/vnd.openxmlformats-officedocument.wordprocessingml.document
Content-Dispositionstring文件名

HTTP状态码为 200 时,表示成功

返回文件二进制流

状态码

| HTTP 状态码 | 描述 |
|---|---|---| | 200 | 文件成功下载。返回文件二进制流。 |
| 206 | 下载部分内容成功。接口将返回指定 Range 的部分文件的二进制流。 |
| 403 | 没有下载文件的权限。要下载文件,你需确保调用身份拥有文档资源权限。详情参考云文档常见问题 3开通权限。 |
| 404 | 文件 token 不存在或文件被删除。请检查 token 是否有误以及文件是否存在。注意放置在文件夹和知识库中的文件,其 token 的获取方式不同,详情参考文件概述-文件 token 获取方式。 || | 500 | 服务端内部异常。请重试或联系技术支持。 |

后续操作

接口调用成功后,你可以通过访问你在下载时指定的本地下载目录,对已下载的文件进行下一步操作。

内容来源:飞书开放平台 · 自动爬取整理