# 列出记录

该接口用于列出数据表中的现有记录，单次最多列出 500 行记录，支持分页获取。

该接口为历史接口，已不推荐使用。你可使用[查询记录](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/search)替代。

## 请求

基本 | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/bitable/v1/apps/:app_token/tables/:table_id/records
HTTP Method | GET
接口频率限制 | [20 次/秒](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
支持的应用类型 | Custom App、Store App
权限要求<br>**调用该 API 所需的权限。开启其中任意一项权限即可调用**<br>开启任一权限即可 | 查看、评论、编辑和管理多维表格(bitable:app)<br>查看、评论和导出多维表格(bitable:app:readonly)
字段权限要求 | **注意事项**：该接口返回体中存在下列敏感字段，仅当开启对应的权限后才会返回；如果无需获取这些字段，则不建议申请<br>获取用户基本信息(contact:user.base:readonly)<br>获取用户 user ID(contact:user.employee_id:readonly)<br>以应用身份访问通讯录(contact:contact:access_as_app)<br>读取通讯录(contact:contact:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)

### 请求头

名称 | 类型 | 必填 | 描述
---|---|---|---
Authorization | string | 是 | `tenant_access_token`<br>或<br>`user_access_token`<br>**值格式**："Bearer `access_token`"<br>**示例值**："Bearer u-7f1bcd13fc57d46bac21793a18e560"<br>[了解更多：如何选择与获取 access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)

### 路径参数

名称 | 类型 | 描述
---|---|---
app_token | string | 多维表格的唯一标识符 [app_token 参数说明](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bitable/notification#8121eebe)<br>**示例值**："bascnCMII2ORej2RItqpZZUNMIe"
table_id | string | 多维表格数据表的唯一标识符 [table_id 参数说明](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bitable/notification#735fe883)<br>**示例值**："tblxI2tWaxP5dG7p"

### 查询参数

名称 | 类型 | 必填 | 描述
---|---|---|---
view_id | string | 否 | 视图的唯一标识符，获取指定视图下的记录[view_id 参数说明](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bitable/notification#8121eebe)<br>注意：<br>当 filter 参数 或 sort 参数不为空时，请求视为对数据表中的全部数据做条件过滤，指定的view_id 会被忽略。<br>**示例值**：vewqhz51lk
filter | string | 否 | 筛选参数，用于指定本次查询的筛选条件<br>注意：<br>1.不支持对“人员”以及“关联字段”的属性进行过滤筛选，如人员的 OpenID。<br>2.指定筛选条件时，参数长度不超过2000个字符。<br>详细请参考[筛选条件支持的公式](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/filter)<br>**示例值**：AND(CurrentValue.[身高]>180, CurrentValue.[体重]>150)
sort | string | 否 | 排序参数，用于指定本次查询返回结果的顺序<br>注意：<br>1.不支持对带“公式”和“关联字段”的表的使用。<br>2.指定排序条件时，参数长度不超过1000字符。<br>3.当存在多个排序条件时，数据将根据条件顺序逐层排序<br>**示例值**：["字段1 DESC","字段2 ASC"]
field_names | string | 否 | 字段名称，用于指定本次查询返回记录中包含的字段<br>**示例值**：["字段1","字段2"]
text_field_as_array | boolean | 否 | 控制多行文本字段数据的返回格式，true 表示以数组形式返回。<br>注意：<br>1.多行文本中如果有超链接部分，则会返回链接的 URL。<br>2.目前可以返回多行文本中 URL 类型为多维表格链接、飞书 doc、飞书 sheet的URL类型以及@人员的数据结构。<br>**示例值**：true
user_id_type | string | 否 | 用户 ID 类型<br>**示例值**：open_id<br>**可选值有**：<br>- open_id：标识一个用户在某个应用中的身份。同一个用户在不同应用中的 Open ID 不同。[了解更多：如何获取 Open ID](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-openid)<br>- union_id：标识一个用户在某个应用开发商下的身份。同一用户在同一开发商下的应用中的 Union ID 是相同的，在不同开发商下的应用中的 Union ID 是不同的。通过 Union ID，应用开发商可以把同个用户在多个应用中的身份关联起来。[了解更多：如何获取 Union ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-union-id)<br>- user_id：标识一个用户在某个租户内的身份。同一个用户在租户 A 和租户 B 内的 User ID 是不同的。在同一个租户内，一个用户的 User ID 在所有应用（包括商店应用）中都保持一致。User ID 主要用于在不同的应用间打通用户数据。[了解更多：如何获取 User ID？](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-obtain-user-id)<br>**默认值**：`open_id`<br>**当值为 `user_id`，字段权限要求**：<br>获取用户 user ID(contact:user.employee_id:readonly)
display_formula_ref | boolean | 否 | 默认值为false，返回当前字段的默认类型和结果；当该参数的值为true时，公式 和 查找引用 类型的字段，将会以 被引用字段 的格式返回<br>**示例值**：true
automatic_fields | boolean | 否 | 控制是否返回自动计算的字段，例如 `created_by`/`created_time`/`last_modified_by`/`last_modified_time`，true 表示返回<br>**示例值**：true
page_token | string | 否 | 分页标记，第一次请求不填，表示从头开始遍历；分页查询结果还有更多项时会同时返回新的 page_token，下次遍历可采用该 page_token 获取查询结果<br>**示例值**：recn0hoyXL
page_size | int | 否 | 分页大小<br>**示例值**：10<br>**默认值**：`20`<br>**数据校验规则**：<br>- 最大值：`500`

## 响应

### 响应体

名称 | 类型 | 描述
---|---|---
code | int | 错误码，非 0 表示失败
msg | string | 错误描述
data | \- | \-
has_more | boolean | 是否还有更多项
page_token | string | 分页标记，当 has_more 为 true 时，会同时返回新的 page_token，否则不返回 page_token
total | int | 总记录数
items | app.table.record\[\] | 本次请求返回的全部记录列表
record_id | string | 一条记录的唯一标识 id [record_id 参数说明](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bitable/notification#15d8db94)
created_by | person | 该记录的创建人
id | string | 用户id，id类型等于user_id_type所指定的类型。
name | string | 用户的中文名称
en_name | string | 用户的英文名称
email | string | 用户的邮箱
avatar_url | string | 头像链接<br>**字段权限要求（满足任一）**：<br>获取用户基本信息(contact:user.base:readonly)<br>以应用身份访问通讯录(contact:contact:access_as_app)<br>读取通讯录(contact:contact:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
created_time | int | 该记录的创建时间
last_modified_by | person | 该记录最新一次更新的修改人
id | string | 用户id，id类型等于user_id_type所指定的类型。
name | string | 用户的中文名称
en_name | string | 用户的英文名称
email | string | 用户的邮箱
avatar_url | string | 头像链接<br>**字段权限要求（满足任一）**：<br>获取用户基本信息(contact:user.base:readonly)<br>以应用身份访问通讯录(contact:contact:access_as_app)<br>读取通讯录(contact:contact:readonly)<br>以应用身份读取通讯录(contact:contact:readonly_as_app)
last_modified_time | int | 该记录最近一次的更新时间
fields | map&lt;string, union&gt; | 数据表的字段，即数据表的列<br>当前接口支持的字段类型请参考[接入指南](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bitable/notification#31f78a3c)<br>不同类型字段的数据结构请参考[数据结构概述](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/bitable/development-guide/bitable-structure)

### 响应体示例
```json
{
	"fields": {
		"索引": "索引列多行文本类型",
		"多行文本": "多行文本内容1",
		"数字": "100",
		"单选": "选项1",
		"多选": ["选项1", "选项2"],
		"日期": 1674206443000,
		"复选框": true,
		"人员": [{
			"avatar_url": "https://internal-api-lark-file.feishu.cn/static-resource/v1/b2-7619-4b8a-b27b-c72d90b06a2j~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp",
			"email": "zhangsan.leben@bytedance.com",
			"en_name": "ZhangSan",
			"id": "ou_2910013f1e6456f16a0ce75ede950a0a",
			"name": "张三"
		}, {
			"avatar_url": "https://internal-api-lark-file.feishu.cn/static-resource/v1/v2_q86-fcb6-4f18-85c7-87ca8881e50j~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp",
			"email": "lisi.00@bytedance.com",
			"en_name": "LiSi",
			"id": "ou_e04138c9633dd0d2ea166d79f548ab5d",
			"name": "李四"
		}],
        "群组": [{
            "avatar_url": "https://internal-api-lark-file.feishu-boe.cn/static-resource/v1/v2_c8d2cd50-ba29-476f-b7f1-5b5917cb18ej~?image_size=72x72&cut_type=&quality=&format=jpeg&sticker_format=.webp",
            "id": "oc_cd07f55f14d6f4a4f1b51504e7e97f48",
            "name": "武侠聊天组"
        }],
		"电话号码": "131xxxx6666",
		"超链接": {
			"link": "https://bitable.feishu.cn",
			"text": "飞书多维表格官网"
		},
		"附件": [{
			"file_token": "Vl3FbVkvnowlgpxpqsAbBrtFcrd",
			"name": "飞书.jpeg",
			"size": 32975,
			"tmp_url": "https://open.feishu.cn/open-apis/drive/v1/medias/batch_get_tmp_download_url?file_tokens=Vl3FbVk11owlgpxpqsAbBrtFcrd&extra=%7B%22bitablePerm%22%3A%7B%22tableId%22%3A%22tblBJyX6jZteblYv%22%2C%22rev%22%3A90%7D%7D",
			"type": "image/jpeg",
			"url": "https://open.feishu.cn/open-apis/drive/v1/medias/Vl3FbVk11owlgpxpqsAbBrtFcrd/download?extra=%7B%22bitablePerm%22%3A%7B%22tableId%22%3A%22tblBJyX6jZteblYv%22%2C%22rev%22%3A90%7D%7D"
		}],
		"单向关联": [{
			"record_ids": ["recnVYsuqV"],
			"table_id": "tblBJyX6jZteblYv",
			"text": "索引列多行文本类型",
			"text_arr": ["索引列多行文本类型"],
			"type": "text"
		}],
		"双向关联": [{
			"record_ids": ["recG70uhxh"],
			"table_id": "tblBJyX6jZteblYv",
			"text": "索引列多行文本类型",
			"text_arr": ["索引列多行文本类型"],
			"type": "text"
		}],
		"地理位置": {
			"address": "东长安街",
			"adname": "东城区",
			"cityname": "北京市",
			"full_address": "天安门广场，北京市东城区东长安街",
			"location": "116.397755,39.903179",
			"name": "天安门广场",
			"pname": "北京市"
		},
		"公式": [{
			"text": "false",
			"type": "text"
		}],
		"创建时间": 1675244156000,
		"更新时间": 1677556020000,
		"修改人": {
			"avatar_url": "https://internal-api-lark-file.feishu.cn/static-resource/v1/06d568cb-f464-4c2e-bd03-76512c545c5j~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp",
			"email": "",
			"en_name": "测试1",
			"id": "ou_92945f86a98bba075174776959c90eda",
			"name": "测试1"
		},
		"创建人": {
			"avatar_url": "https://internal-api-lark-file.feishu.cn/static-resource/v1/06d568cb-f464-4c2e-bd03-76512c545c5j~?image_size=72x72&cut_type=default-face&quality=&format=jpeg&sticker_format=.webp",
			"email": "",
			"en_name": "测试1",
			"id": "ou_92945f86a98bba075174776959c90eda",
			"name": "测试1"
		},
		"条码": "123",
		"查找引用": [{
		    "text": "多行文本内容1",
			"type": "text"
		}],
		"自动编号-自定义": "017no20230201",
		"自动编号-默认": "17",
		"货币": "1",
		"进度": "0.66",
        "评分":"3"
	}
}
```

### 错误码

HTTP状态码 | 错误码 | 描述 | 排查建议
---|---|---|---
200 | 1254000 | WrongRequestJson | 请求体错误
200 | 1254001 | WrongRequestBody | 请求体错误
200 | 1254002 | Fail | 内部错误，有疑问可咨询客服
200 | 1254003 | WrongBaseToken | app_token 错误
200 | 1254004 | WrongTableId | table_id 错误
200 | 1254005 | WrongViewId | view_id 错误
200 | 1254006 | WrongRecordId | 检查 record_id
200 | 1254007 | EmptyValue | 空值
200 | 1254008 | EmptyView | 空视图
200 | 1254009 | WrongFieldId | 字段 id 错误
200 | 1254010 | ReqConvError | 请求错误
400 | 1254011 | Page size must greater than 0. | page_size参数非法
200 | 1254016 | InvalidSort | Sort参数错误
200 | 1254018 | InvalidFilter | filter 参数错误。请参考[记录过滤参数填写指南](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/bitable-v1/app-table-record/record-filter-guide)了解如何填写 filter 参数。
200 | 1254024 | InvalidFieldNames | FieldNames参数错误
200 | 1254030 | TooLargeResponse | 响应体过大
400 | 1254036 | Base is copying, please try again later. | 多维表格副本复制中，稍后重试
200 | 1254040 | BaseTokenNotFound | app_token 不存在
200 | 1254041 | TableIdNotFound | table_id 不存在
200 | 1254042 | ViewIdNotFound | view_id 不存在
200 | 1254043 | RecordIdNotFound | record_id 不存在
200 | 1254044 | FieldIdNotFound | field_id  不存在
200 | 1254045 | FieldNameNotFound | 字段名字不存在
200 | 1254060 | TextFieldConvFail | 多行文本字段错误
200 | 1254061 | NumberFieldConvFail | 数字字段错误
200 | 1254062 | SingleSelectFieldConvFail | 单选字段错误
200 | 1254063 | MultiSelectFieldConvFail | 多选字段错误
200 | 1254064 | DatetimeFieldConvFail | 日期字段错误
200 | 1254065 | CheckboxFieldConvFail | 复选框字段错误
200 | 1254066 | UserFieldConvFail | 人员字段错误
200 | 1254067 | LinkFieldConvFail | 关联字段错误
200 | 1254068 | URLFieldConvFail | 超链接字段错误
200 | 1254069 | AttachFieldConvFail | 附件字段错误
200 | 1254072 | Failed to convert phone field, please make sure it is correct. | 电话字段错误
200 | 1254100 | TableExceedLimit | 数据表数量超限, 限制300个
200 | 1254101 | ViewExceedLimit | 视图数量超限, 限制200个
200 | 1254102 | FileExceedLimit | 超限
200 | 1254103 | RecordExceedLimit | 记录数量超限, 限制20,000条
200 | 1254104 | RecordAddOnceExceedLimit | 单次添加记录数量超限, 限制500条
200 | 1254107 | FilterLengthExceedLimit | Filter长度超限, 限制2,000个字符
200 | 1254108 | SortLengthExceedLimit | Sort长度超限, 限制1,000个字符
200 | 1254109 | FormulaTableSizeExceedLimit | 公式表大小超限
200 | 1254130 | TooLargeCell | 格子内容过大
200 | 1254290 | TooManyRequest | 请求过快，稍后重试
200 | 1254291 | Write conflict | 同一个数据表(table) 不支持并发调用写接口，请检查是否存在并发调用写接口。写接口包括：新增、修改、删除记录；新增、修改、删除字段；修改表单；修改视图等。
200 | 1254301 | OperationTypeError | 多维表格未开启高级权限或不支持开启高级权限
200 | 1254302 | Permission denied. | 无访问权限, 常由表格开启了高级权限造成, 请在高级权限设置中添加一个包含应用的群, 给予这个群读写权限
200 | 1254303 | AttachPermNotAllow | 附件无权限
200 | 1255001 | InternalError | 内部错误，有疑问可咨询客服
200 | 1255002 | RpcError | 内部错误，有疑问可咨询客服
200 | 1255003 | MarshalError | 序列化错误，有疑问可咨询客服
200 | 1255004 | UmMarshalError | 反序列化错误
200 | 1255005 | ConvError | 内部错误，有疑问可咨询客服处
504 | 1255040 | 请求超时 | 进行重试
400 | 1254607 | Data not ready, please try again later | 该报错一般是由于前置操作未执行完成，或本次操作数据太大，服务器计算超时导致。遇到该错误码时，建议等待一段时间后重试。通常有以下几种原因：<br>- **编辑操作频繁**：开发者对多维表格的编辑操作非常频繁。可能会导致由于等待前置操作处理完成耗时过长而超时的情况。多维表格底层对数据表的处理基于版本维度的串行方式，不支持并发。因此，并发请求时容易出现此类错误，不建议开发者对单个数据表进行并发请求。<br>- **批量操作负载重**：开发者在多维表格中进行批量新增、删除等操作时，如果数据表的数据量非常大，可能会导致单次请求耗时过长，最终导致请求超时。建议开发者适当降低批量请求的 page_size 以减少请求耗时。<br>- **资源分配与计算开销**：资源分配是基于单文档维度的，如果读接口涉及公式计算、排序等计算逻辑，会占用较多资源。例如，并发读取一个文档下的多个数据表也可能导致该文档阻塞。

