Skip to content

读取多个范围

读取电子表格中多个指定范围的数据。

使用限制

  • 该接口返回数据的最大限制为 10 MB。
  • 该接口不支持获取跨表引用和数组公式的计算结果。

前提条件

调用此接口前,请确保当前调用身份(tenant_access_token 或 user_access_token)已有电子表格的阅读、编辑等文档权限,否则接口将返回 HTTP 403 或 400 状态码。了解更多,参考如何为应用或用户开通文档权限

请求

项目
HTTP URLhttps://open.feishu.cn/open-apis/sheets/v2/spreadsheets/:spreadsheetToken/values_batch_get
HTTP MethodGET
接口频率限制100 次/秒
支持的应用类型custom,isv
权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 开启任一权限即可drive:drive 查看、评论、编辑和管理云空间中所有文件 drive:drive:readonly 查看、评论和下载云空间中所有文件 sheets:spreadsheet 查看、评论、编辑和管理电子表格 sheets:spreadsheet:readonly 查看、评论和导出电子表格

请求头

名称类型必填描述
Authorizationstring通过访问凭证(access_token)对调用者身份进行鉴权。可选值: - tenant_access_token: 租户授权凭证。应用代表租户(即企业或团队)执行对应操作。示例值:"Bearer t-7f1bcd13fc57d46bac21793aabcef" - user_access_token:用户授权凭证。应用代表用户执行对应操作。示例值:"Bearer u-7f1bcd13fc57d46bac21793aabcef" 了解更多,参考获取访问凭证
Content-Typestring固定值:"application/json; charset=utf-8"

路径参数

名称类型必填描述
spreadsheetTokenstring电子表格的 token。可通过以下两种方式获取。了解更多,参考电子表格概述。 - 电子表格的 URL:https://sample.feishu.cn/sheets/==Iow7sNNEphp3WbtnbCscPqabcef== - 调用获取文件夹中的文件清单 示例值:"Iow7sNNEphp3WbtnbCscPqabcef"

查询参数

名称类型必填描述
rangesstring多个查询范围,范围之间使用逗号分隔,如 Q7PlXT!A2:B6,0b6377!B1:C8。range 的格式为 !<开始位置>:<结束位置>。其中: - sheetId 为工作表 ID,通过获取工作表 获取 - <开始位置>:<结束位置> 为工作表中单元格的范围,数字表示行索引,字母表示列索引。如 A2:B2 表示该工作表第 2 行的 A 列到 B 列。range支持四种写法,详情参考电子表格概述 注意:若使用 !<开始单元格>:<结束列> 的写法时,仅支持获取 100 列数据。
valueRenderOptionstring指定单元格数据的格式。可选值如下所示。当参数缺省时,默认不进行公式计算,返回公式本身,且单元格为数值格式。 - ToString:返回纯文本的值(数值类型除外) - Formula:单元格中含有公式时,返回公式本身 - FormattedValue:计算并格式化单元格 - UnformattedValue:计算但不对单元格进行格式化
dateTimeRenderOptionstring指定数据类型为日期、时间、或时间日期的单元格数据的格式。 - 若不传值,默认返回浮点数值,整数部分为自 1899 年 12 月 30 日以来的天数;小数部分为该时间占 24 小时的份额。例如:若时间为 1900 年 1 月 1 日中午 12 点,则默认返回 2.5。其中,2 表示 1900 年 1 月 1 日为 1899 年12 月 30 日之后的 2 天;0.5 表示 12 点占 24 小时的二分之一,即 12/24=0.5。 - 可选值为 FormattedString,此时接口将计算并对日期、时间、或时间日期类型的数据格式化并返回格式化后的字符串,但不会对数字进行格式化。
user_id_typestring当单元格中包含@用户等涉及用户信息的元素时,该参数可指定返回的用户 ID 类型。默认为 lark_id,建议选择 open_idunion_id。了解更多,参考用户身份概述。可选值: - open_id:标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。了解更多:如何获取 Open ID - union_id:标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的,在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID,应用开发商可以把同个用户在多个应用中的身份关联起来。了解更多:如何获取 Union ID

cURL 请求示例

bash
curl --location --request GET 'https://open.feishu.cn/open-apis/sheets/v2/spreadsheets/shtcngNygNfuqhxTBf588jabcef/values_batch_get?ranges=Q7PlXT!A2:B6,0b6377!B1:C8&valueRenderOption=ToString&dateTimeRenderOption=FormattedString' \
--header 'Authorization: Bearer t-e346617a4acfc3a11d4ed24dca0d0c0fc8e0067e' \

响应

响应体

名称类型描述
codeint错误码,非 0 表示失败
msgstring错误描述
data--
  └ revisionint工作表的版本号。从 0 开始计数,更新一次版本号加一。
  └ spreadsheetTokenstring表格的 token
  └ totalCellsint读取的单元格总数
  └ valueRanges-读取的值与范围
    └ majorDimensionstring返回的 values 数组中数据的呈现维度。固定取值 ROWS,即数据为从左到右、从上到下的读取顺序。
    └ rangestring读取的范围。为空时表示查询范围没有数据。
    └ revisionint工作表的版本号。从 0 开始计数,更新一次版本号加一。
    └ valuesarray>指定范围中的数据

响应体示例

json
{
    "code": 0,
    "data": {
        "revision": 87,
        "spreadsheetToken": "shtcngNygNfuqhxTBf588jabcef",
        "totalCells": 6,
        "valueRanges": [
            {
                "majorDimension": "ROWS",
                "range": "6e5ed3!A2:B3",
                "revision": 87,
                "values": [
                    [
                        "World",
                        1
                    ],
                    [
                        5,
                        6
                    ]
                ]
            },
            {
                "majorDimension": "ROWS",
                "range": "4FRjKE!B1:B2",
                "revision": 87,
                "values": [
                    [
                        "test"
                    ],
                    [
                        "test"
                    ]
                ]
            }
        ]
    },
    "msg": "success"
}

错误码

具体可参考:服务端错误码说明

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