# 飞书多维表格字段 Property 配置详解 本文档详细说明每种字段类型创建或更新时需要的 `property` 参数结构。 > **来源**: 基于飞书开放平台文档 [字段编辑指南](https://go.feishu.cn/s/672BSzVyo03) ## 📋 目录 - [基础字段](#基础字段) - [1. 文本 (type=1)](#1-文本-type1) - [2. 数字 (type=2)](#2-数字-type2) - [5. 日期 (type=5)](#5-日期-type5) - [7. 复选框 (type=7)](#7-复选框-type7) - [13. 电话号码 (type=13)](#13-电话号码-type13) - [选择字段](#选择字段) - [3. 单选 (type=3)](#3-单选-type3) - [4. 多选 (type=4)](#4-多选-type4) - [特殊显示字段](#特殊显示字段) - [进度 (type=2, ui_type="Progress")](#进度-type2-ui_typeprogress) - [货币 (type=2, ui_type="Currency")](#货币-type2-ui_typecurrency) - [评分 (type=2, ui_type="Rating")](#评分-type2-ui_typerating) - [条码 (type=1, ui_type="Barcode")](#条码-type1-ui_typebarcode) - [邮箱 (type=1, ui_type="Email")](#邮箱-type1-ui_typeemail) - [关系字段](#关系字段) - [11. 人员 (type=11)](#11-人员-type11) - [15. 超链接 (type=15)](#15-超链接-type15) - [17. 附件 (type=17)](#17-附件-type17) - [18. 单向关联 (type=18)](#18-单向关联-type18) - [21. 双向关联 (type=21)](#21-双向关联-type21) - [22. 地理位置 (type=22)](#22-地理位置-type22) - [23. 群组 (type=23)](#23-群组-type23) - [高级字段](#高级字段) - [20. 公式 (type=20)](#20-公式-type20) - [1001. 创建时间 (type=1001)](#1001-创建时间-type1001) - [1002. 最后更新时间 (type=1002)](#1002-最后更新时间-type1002) - [1005. 自动编号 (type=1005)](#1005-自动编号-type1005) --- ## 基础字段 ### 1. 文本 (type=1) **Property 结构**: 空对象或省略 ```json { "type": 1, "field_name": "任务描述", "property": {} } ``` **注意**: - 默认 `ui_type` 为 "Text" - 单个单元格最多 10 万字符 - 支持富文本格式(提及人、超链接等) --- ### 2. 数字 (type=2) **Property 结构**: ```json { "formatter": "0" // 可选,数字显示格式 } ``` **formatter 可选值**: - `"0"`: 整数(默认) - `"0.0"`: 一位小数 - `"0.00"`: 两位小数 - `"0,000"`: 千分位 - `"0.00%"`: 百分比 **示例**: ```json { "type": 2, "field_name": "工时", "property": { "formatter": "0.00" } } ``` --- ### 5. 日期 (type=5) **Property 结构**: ```json { "date_formatter": "yyyy/MM/dd", // 可选,默认 "yyyy/MM/dd" "auto_fill": false // 可选,是否自动填充创建时间 } ``` **date_formatter 可选值**: - `"yyyy/MM/dd"`: 2021/1/30 - `"yyyy-MM-dd HH:mm"`: 2021/1/30 14:00 - `"MM-dd"`: 1月30日 - `"MM/dd/yyyy"`: 01/30/2021 - `"dd/MM/yyyy"`: 30/01/2021 **示例**: ```json { "type": 5, "field_name": "截止日期", "property": { "date_formatter": "yyyy-MM-dd HH:mm", "auto_fill": false } } ``` --- ### 7. 复选框 (type=7) **Property 结构**: 空对象或省略 ```json { "type": 7, "field_name": "是否完成", "property": {} } ``` --- ### 13. 电话号码 (type=13) **Property 结构**: 空对象或省略 ```json { "type": 13, "field_name": "联系电话", "property": {} } ``` **注意**: - 电话号码格式:符合正则 `(\+)?\d*` - 最大长度 64 字符 --- ## 选择字段 ### 3. 单选 (type=3) **Property 结构**: ```json { "options": [ { "name": "进行中", // 必填,选项名称 "color": 0 // 可选,颜色编号 (0-54) }, { "name": "已完成", "color": 10 } ] } ``` **颜色编号 (color)**: - 范围: 0-54 - 0: 红色 - 10: 绿色 - 20: 蓝色 - ... (详见飞书官方文档) **示例**: ```json { "type": 3, "field_name": "任务状态", "property": { "options": [ {"name": "待开始", "color": 0}, {"name": "进行中", "color": 20}, {"name": "已完成", "color": 10} ] } } ``` **注意**: - 选项总数不超过 20,000 个 - 创建时**不能**指定选项 ID(`id` 字段),系统自动生成 - 更新时需保留已有选项的 `id` --- ### 4. 多选 (type=4) **Property 结构**: 与单选相同 ```json { "options": [ {"name": "紧急", "color": 0}, {"name": "重要", "color": 10} ] } ``` **注意**: - 选项总数不超过 20,000 个 - 单个单元格选项数不超过 1,000 个 --- ## 特殊显示字段 ### 进度 (type=2, ui_type="Progress") **Property 结构**: ```json { "min": 0, // 必填,最小值 "max": 100, // 必填,最大值 "range_customize": false // 可选,是否允许自定义进度值 } ``` **示例**: ```json { "type": 2, "field_name": "完成进度", "ui_type": "Progress", "property": { "min": 0, "max": 100, "range_customize": true } } ``` **注意**: - `min` 取值范围: 0-1 - `max` 取值范围: 1-100 - `range_customize` 为 `true` 时用户可输入超出范围的值 --- ### 货币 (type=2, ui_type="Currency") **Property 结构**: ```json { "currency_code": "CNY", // 必填,货币类型 "formatter": "0.00" // 可选,数字格式 } ``` **currency_code 可选值**: - `"CNY"`: 人民币 (¥) - `"USD"`: 美元 ($) - `"EUR"`: 欧元 (€) - `"GBP"`: 英镑 (£) - `"JPY"`: 日元 (¥) - `"HKD"`: 港元 ($) - ... (支持 20+ 种货币) **示例**: ```json { "type": 2, "field_name": "预算", "ui_type": "Currency", "property": { "currency_code": "USD", "formatter": "0,000.00" } } ``` --- ### 评分 (type=2, ui_type="Rating") **Property 结构**: ```json { "min": 1, // 必填,最小值 "max": 5, // 必填,最大值 "rating": { // 可选,评分样式 "symbol": "star" // 图标类型 } } ``` **symbol 可选值**: - `"star"`: ⭐ 星星(默认) - `"heart"`: ❤️ 爱心 - `"thumbsup"`: 👍 赞 - `"fire"`: 🔥 火焰 - `"smile"`: 😊 笑脸 - `"lightning"`: ⚡ 闪电 - `"flower"`: 🌸 花朵 - `"number"`: 数字 **示例**: ```json { "type": 2, "field_name": "优先级", "ui_type": "Rating", "property": { "min": 1, "max": 5, "rating": { "symbol": "fire" } } } ``` --- ### 条码 (type=1, ui_type="Barcode") **Property 结构**: ```json { "allowed_edit_modes": { "manual": true, // 是否允许手动录入 "scan": true // 是否允许扫描录入 } } ``` **示例**: ```json { "type": 1, "field_name": "商品条码", "ui_type": "Barcode", "property": { "allowed_edit_modes": { "manual": false, "scan": true } } } ``` --- ### 邮箱 (type=1, ui_type="Email") **Property 结构**: 空对象或省略 ```json { "type": 1, "field_name": "联系邮箱", "ui_type": "Email", "property": {} } ``` --- ## 关系字段 ### 11. 人员 (type=11) **Property 结构**: ```json { "multiple": true // 可选,是否允许多个人员,默认 true } ``` **示例**: ```json { "type": 11, "field_name": "负责人", "property": { "multiple": false // 只允许单个人员 } } ``` **注意**: - 单个单元格人员数不超过 1,000 - 记录值只支持传入 `id` 字段(open_id/union_id/user_id) --- ### 15. 超链接 (type=15) **Property 结构**: **必须省略 `property` 参数,不要传递任何值(包括空对象)** ```json { "type": 15, "field_name": "参考链接" // 不要传 property 参数,包括空对象 {} } ``` **⚠️ 重要**: 超链接字段的特殊要求(经实测验证): - ✅ **正确**: 完全省略 `property` 参数 - ❌ **错误**: `"property": {}`(会报 URLFieldPropertyError) - ❌ **错误**: 传递任何 property 值 **注意**: 这是飞书 API 的特殊行为,超链接字段即使传空对象也会报错,必须完全省略该参数。 --- ### 17. 附件 (type=17) **Property 结构**: 空对象或省略 ```json { "type": 17, "field_name": "附件", "property": {} } ``` **注意**: - 单个单元格附件数不超过 100 - 写入前需先调用[上传素材接口](https://go.feishu.cn/s/63soQp6O80s) --- ### 18. 单向关联 (type=18) **Property 结构**: ```json { "table_id": "tblXXXXXXXX", // 必填,关联的数据表 ID "multiple": true // 可选,是否允许多条记录,默认 true } ``` **示例**: ```json { "type": 18, "field_name": "关联任务", "property": { "table_id": "tblsRc9GRRXKqhvW", "multiple": true } } ``` **注意**: - 单个单元格关联数不超过 500 --- ### 21. 双向关联 (type=21) **Property 结构**: ```json { "table_id": "tblXXXXXXXX", // 必填,关联的数据表 ID "back_field_name": "反向字段名", // 必填,对方表的双向关联字段名 "multiple": true // 可选,是否允许多条记录 } ``` **示例**: ```json { "type": 21, "field_name": "相关项目", "property": { "table_id": "tblAnotherTable", "back_field_name": "关联的任务", "multiple": true } } ``` **注意**: - 单个单元格关联数不超过 500 - 对方表会自动创建对应的双向关联字段 --- ### 22. 地理位置 (type=22) **Property 结构**: ```json { "location": { "input_type": "not_limit" // 输入限制 } } ``` **input_type 可选值**: - `"only_mobile"`: 仅允许移动端实时定位 - `"not_limit"`: 无限制(默认) **示例**: ```json { "type": 22, "field_name": "办公地址", "property": { "location": { "input_type": "only_mobile" } } } ``` --- ### 23. 群组 (type=23) **Property 结构**: 空对象或省略 ```json { "type": 23, "field_name": "协作群", "property": {} } ``` **注意**: - 单个单元格群组数不超过 10 个 --- ## 高级字段 ### 20. 公式 (type=20) **Property 结构**: ```json { "formula_expression": "bitable::$table[tblXXX].$field[fldYYY]*2" // 可选 } ``` **示例**: ```json { "type": 20, "field_name": "总价", "property": { "formula_expression": "bitable::$table[tblMain].$field[fldQty] * $field[fldPrice]" } } ``` **注意**: - 创建字段时**不支持**设置公式表达式 - 参考[飞书帮助中心 - 公式字段](https://www.feishu.cn/hc/zh-CN/articles/360049067853) **对于某些多维表格,公式字段需要额外设置 `type` 参数**(通过[获取多维表格元数据](https://go.feishu.cn/s/62nuKkQlE03)接口的 `formula_type` 判断): ```json { "type": 20, "field_name": "计算字段", "property": { "type": { "data_type": 2, // 公式结果的数据类型 (1=文本, 2=数字, 5=日期...) "ui_property": { // UI 展示属性 "formatter": "0.00", "currency_code": "CNY" }, "ui_type": "Currency" // UI 类型 (Number/Progress/Currency/Rating/DateTime) } } } ``` --- ### 1001. 创建时间 (type=1001) **Property 结构**: ```json { "date_formatter": "yyyy/MM/dd" // 可选,日期格式 } ``` **示例**: ```json { "type": 1001, "field_name": "创建于", "property": { "date_formatter": "yyyy-MM-dd HH:mm" } } ``` --- ### 1002. 最后更新时间 (type=1002) **Property 结构**: 与创建时间相同 ```json { "date_formatter": "yyyy-MM-dd HH:mm" } ``` --- ### 1005. 自动编号 (type=1005) **Property 结构**: ```json { "auto_serial": { "type": "auto_increment_number", // 或 "custom" "options": [ // 自定义编号规则(仅 type="custom" 时需要) { "type": "fixed_text", "value": "TASK-" }, { "type": "created_time", "value": "yyyyMMdd" }, { "type": "system_number", "value": "5" } ] } } ``` **auto_serial.type 可选值**: - `"auto_increment_number"`: 纯自增数字 - `"custom"`: 自定义编号规则 **options 中的规则类型**: - `"system_number"`: 自增数字位数(value: 1-9) - `"fixed_text"`: 固定字符(value: 最多 20 字符) - `"created_time"`: 创建时间(value: "yyyyMMdd"/"yyyyMM"/"yyyy"/"MMdd"/"MM"/"dd") **示例 1: 纯自增**: ```json { "type": 1005, "field_name": "编号", "property": { "auto_serial": { "type": "auto_increment_number" } } } ``` **示例 2: 自定义编号**: ```json { "type": 1005, "field_name": "工单号", "property": { "auto_serial": { "type": "custom", "options": [ {"type": "fixed_text", "value": "WO-"}, {"type": "created_time", "value": "yyyyMMdd"}, {"type": "system_number", "value": "4"} ] } } } // 生成示例: WO-20240226-0001 ``` --- ## 🔍 常见错误码 | 错误码 | 字段类型 | 说明 | |--------|---------|------| | 1254080 | 文本 | property 结构错误 | | 1254081 | 数字 | property 结构错误,检查 formatter | | 1254082 | 单选 | property 结构错误,检查 options 数组 | | 1254083 | 多选 | property 结构错误,检查 options 数组 | | 1254084 | 日期 | property 结构错误,检查 date_formatter | | 1254085 | 复选框 | property 结构错误 | | 1254086 | 人员 | property 结构错误,检查 multiple | | 1254087 | 超链接 | **必须省略 property 参数(传空对象也会报错)** | | 1254088 | 附件 | property 结构错误 | | 1254089 | 单向关联 | property 结构错误,检查 table_id | | 1254090 | 查找引用 | property 结构错误 | | 1254091 | 公式 | property 结构错误 | | 1254092 | 双向关联 | property 结构错误,检查 table_id 和 back_field_name | | 1254093 | 创建时间 | property 结构错误 | | 1254094 | 最后更新时间 | property 结构错误 | --- ## 📌 更新字段时的特殊规则 调用 `update` action 更新字段时: 1. **必须保持字段类型一致**: `type` 和 `ui_type` 不能变更 2. **单选/多选更新选项**: - 已有选项必须保留 `id` - 新增选项只传 `name` 和 `color`,不传 `id` 3. **如果只改字段名**: - 可以只传 `field_name`,工具会自动查询当前 `type` 和 `property` 4. **关联字段的 table_id**: 不能修改为不同的表 --- ## 🔗 参考链接 - [飞书开放平台 - 字段编辑指南](https://go.feishu.cn/s/672BSzVyo03) - [新增字段接口文档](https://go.feishu.cn/s/62nuKkQl403) - [更新字段接口文档](https://go.feishu.cn/s/62nuKkQlo03)