aitable-workflow-cli 0.1.25 → 0.1.26-beta.1788916459616

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/chunk-W74OPSPB.js +15 -0
  2. package/dist/cli.js +1 -1
  3. package/dist/{config-ui-server-IUSACAOT.js → config-ui-server-XICILFV7.js} +1 -1
  4. package/package.json +3 -3
  5. package/templates/_shared/aitable-faq/.kb/state.json +11 -9
  6. package/templates/_shared/aitable-faq/.kb/wiki/_compile-report.json +10 -25
  7. package/templates/_shared/aitable-faq/.kb/wiki/_index.md +7 -7
  8. package/templates/_shared/aitable-faq/.kb/wiki/concepts/AI/350/241/250/346/240/274/344/270/211/346/226/271/346/217/222/344/273/266/344/275/277/347/224/250/346/216/210/346/235/203.md +0 -3
  9. package/templates/_shared/aitable-faq/.kb/wiki/concepts/AI/350/241/250/346/240/274/346/216/245Qoder/346/231/272/350/203/275/344/275/223/357/274/232/344/273/216/342/200/234/351/227/256/346/225/260/342/200/235/345/210/260/342/200/234/345/212/236/344/272/213/342/200/235.md +182 -0
  10. package/templates/_shared/aitable-faq/.kb/wiki/concepts/AI/350/241/250/346/240/274/346/217/222/344/273/266-/350/204/232/346/234/254/346/217/222/344/273/266.md +0 -3
  11. package/templates/_shared/aitable-faq/.kb/wiki/concepts/AI/350/241/250/346/240/274/346/217/222/344/273/266-/350/207/252/345/256/232/344/271/211/346/217/222/344/273/266.md +0 -3
  12. package/templates/_shared/aitable-faq/.kb/wiki/concepts/_index.md +4 -3
  13. package/templates/_shared/aitable-faq/.kb/wiki/concepts//346/240/270/345/277/203/347/237/245/350/257/206.md +33 -32
  14. package/templates/_shared/aitable-faq/.kb/wiki/concepts//350/267/250AI/350/241/250/346/240/274/346/225/260/346/215/256/345/220/214/346/255/245.md +1 -0
  15. package/templates/_shared/aitable-faq/.kb/wiki/concepts//351/200/217/350/247/206/350/241/250/350/247/206/345/233/276.md +1 -0
  16. package/templates/_shared/aitable-faq/.kb/wiki/log.md +60 -3
  17. package/templates/_shared/aitable-faq/.kb/wiki/references/AI /350/241/250/346/240/274 AI /345/255/227/346/256/265/345/270/270/350/247/201/346/212/245/351/224/231/350/257/264/346/230/216.md" +4 -0
  18. package/templates/_shared/aitable-faq/.kb/wiki/references/AI/350/241/250/346/240/274 (/345/244/232/347/273/264/350/241/250) OpenAPI /345/270/256/345/212/251/346/226/207/346/241/243.md" +151 -119
  19. package/templates/_shared/aitable-faq/.kb/wiki/references/BarcodeField /346/235/241/347/240/201/345/255/227/346/256/265.md" +2 -0
  20. package/templates/_shared/aitable-faq/.kb/wiki/references/Base /346/250/241/345/235/227.md" +14 -0
  21. package/templates/_shared/aitable-faq/.kb/wiki/references/Field /346/250/241/345/235/227.md" +2 -0
  22. package/templates/_shared/aitable-faq/.kb/wiki/references/Input/346/250/241/345/235/227.md +0 -3
  23. package/templates/_shared/aitable-faq/.kb/wiki/references/Output/346/250/241/345/235/227.md +0 -3
  24. package/templates/_shared/aitable-faq/.kb/wiki/references/Record /346/250/241/345/235/227.md" +2 -0
  25. package/templates/_shared/aitable-faq/.kb/wiki/references/Sheet /346/250/241/345/235/227.md" +7 -0
  26. package/templates/_shared/aitable-faq/.kb/wiki/references/UI /346/250/241/345/235/227.md" +3 -0
  27. package/templates/_shared/aitable-faq/.kb/wiki/references/View /346/250/241/345/235/227.md" +3 -0
  28. package/templates/_shared/aitable-faq/.kb/wiki/references/_index.md +38 -38
  29. package/templates/_shared/aitable-faq/.kb/wiki/references//344/273/252/350/241/250/347/233/230/345/270/270/350/247/201/351/227/256/351/242/230.md +1 -0
  30. package/templates/_shared/aitable-faq/.kb/wiki/references//345/205/266/344/273/226/346/216/245/345/217/243.md +0 -3
  31. package/templates/_shared/aitable-faq/.kb/wiki/references//345/255/227/346/256/265/346/225/260/346/215/256/347/273/223/346/236/204.md +0 -15
  32. package/templates/_shared/aitable-faq/.kb/wiki/references//350/207/252/345/212/250/345/214/226/345/270/270/350/247/201/351/227/256/351/242/230.md +1 -0
  33. package/templates/_shared/aitable-faq/.kb/wiki/references//351/253/230/347/272/247/346/235/203/351/231/220/345/270/270/350/247/201/351/227/256/351/242/230.md +1 -0
  34. package/templates/_shared/aitable-faq/.kb/wiki/topics/6/350/212/202/350/257/276/345/270/246/344/275/240/345/277/253/351/200/237/344/270/212/346/211/213AI/350/241/250/346/240/274.md +1 -0
  35. package/templates/_shared/aitable-faq/.kb/wiki/topics/AI/350/241/250/346/240/274 AI /345/255/227/346/256/265 /345/274/200/345/217/221/346/214/207/345/215/227.md" +4 -0
  36. package/templates/_shared/aitable-faq/.kb/wiki/topics/AI/350/241/250/346/240/274/346/217/222/344/273/266/344/270/255/345/277/203-/344/275/277/347/224/250/346/214/207/345/215/227.md +1 -3
  37. package/templates/_shared/aitable-faq/.kb/wiki/topics/AI/350/241/250/346/240/274/347/232/204/345/257/274/345/207/272.md +1 -0
  38. package/templates/_shared/aitable-faq/.kb/wiki/topics/AI/350/241/250/346/240/274/350/257/257/345/210/240/346/201/242/345/244/215/346/214/207/345/215/227.md +1 -0
  39. package/templates/_shared/aitable-faq/.kb/wiki/topics/Dify/346/231/272/350/203/275/344/275/223.md +1 -3
  40. package/templates/_shared/aitable-faq/.kb/wiki/topics/_index.md +11 -11
  41. package/templates/_shared/aitable-faq/.kb/wiki/topics//344/270/272/350/241/250/346/240/274/346/267/273/345/212/240/345/255/227/346/256/265.md +0 -4
  42. package/templates/_shared/aitable-faq/.kb/wiki/topics//344/275/277/347/224/250AI/350/241/250/346/240/274/344/273/252/350/241/250/347/233/230.md +1 -0
  43. package/templates/_shared/aitable-faq/.kb/wiki/topics//344/275/277/347/224/250AI/350/241/250/346/240/274/350/247/206/345/233/276.md +1 -0
  44. package/templates/_shared/aitable-faq/.kb/wiki/topics//344/275/277/347/224/250AI/350/241/250/346/240/274/351/253/230/347/272/247/346/235/203/351/231/220.md +2 -0
  45. package/templates/_shared/aitable-faq/.kb/wiki/topics//344/275/277/347/224/250/345/205/254/345/274/217/345/255/227/346/256/265.md +1 -0
  46. package/templates/_shared/aitable-faq/.kb/wiki/topics//344/275/277/347/224/250/350/207/252/345/212/250/345/214/226/345/267/245/344/275/234/346/265/201.md +1 -0
  47. package/templates/_shared/aitable-faq/.kb/wiki/topics//346/231/272/350/203/275/344/275/223/351/227/256/346/225/260/344/270/216/344/277/241/346/201/257/346/224/266/351/233/206/357/275/234/345/212/237/350/203/275/350/257/264/346/230/216.md +111 -150
  48. package/templates/_shared/aitable-faq/.kb/wiki/topics//351/222/211/351/222/211AI/350/241/250/346/240/274FAQ.md +5 -0
  49. package/templates/_shared/aitable-faq/.kb/wiki/topics//351/222/211/351/222/211AI/350/241/250/346/240/274/345/277/253/351/200/237/344/270/212/346/211/213.md +1 -0
  50. package/templates/_shared/aitable-faq/.kb/wiki/topics//351/222/211/351/222/211OA/345/256/241/346/211/271/346/225/260/346/215/256/345/220/214/346/255/245.md +1 -0
  51. package/templates/_shared/aitable-faq/AI/350/241/250/346/240/274/346/216/245Qoder/346/231/272/350/203/275/344/275/223/357/274/232/344/273/216/342/200/234/351/227/256/346/225/260/342/200/235/345/210/260/342/200/234/345/212/236/344/272/213/342/200/235.md +181 -0
  52. package/templates/_shared/aitable-faq//351/222/211/351/222/211AI/350/241/250/346/240/274FAQ.md +725 -0
  53. package/dist/chunk-UNPV6DTX.js +0 -15
@@ -1,44 +1,43 @@
1
1
  ---
2
- title: AI表格文档对象模型核心知识
3
- category: concepts
2
+ title: AI 表格文档对象模型核心知识
3
+ category: concept
4
4
  sources: [18-开发者指南/AI表格边栏插件 开发指南/核心知识.md]
5
- created: 2026-08-24
6
- updated: 2026-08-24
7
- tags: [AI表格, 对象模型, 边栏插件, DingdocsScript]
8
- aliases: [AI表格DOM, 对象模型, 核心知识]
5
+ created: 2026-07-20
6
+ updated: 2026-07-20
7
+ tags: [对象模型, Base, Sheet, 边栏插件, 架构]
8
+ aliases: [文档对象模型, AI表格对象模型, DOM]
9
9
  confidence: high
10
- summary: 介绍AI表格边栏插件开发中的文档对象模型(DOM),包括 Base、Sheet、View、Field、Record 等核心对象及其层级关系。通过 DingdocsScript.base 获取顶级对象后,可逐层访问数据表、视图、字段、记录并执行增删改查。
10
+ summary: AI 表格文档对象模型的核心概念,阐述 Base、Sheet、View、Field、Record 五大对象的层级关系与获取方式,是边栏插件开发的基础认知。
11
11
  ---
12
12
 
13
- > AI表格文档对象模型是边栏插件开发的基础。理解各核心对象的层级关系与获取方式,才能正确调用 API 对表格数据执行增删改查。
13
+ > AI 表格文档对象模型是边栏插件与表格数据交互的基础。理解 Base → Sheet → View/Field/Record 的层级结构,是正确调用各级 API 的前提。
14
14
 
15
- ## 常用对象
16
-
17
- AI表格的数据对象模型有以下几类:
15
+ ## 对象层级结构
18
16
 
19
17
  ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/vBPlN5m0zy8wkOdG/img/d16de762-8859-4314-9378-6ff83bafca59.png)
20
18
 
19
+ AI 表格的数据对象模型包含以下几类:
20
+
21
21
  | 对象 | 说明 | 获取方式 |
22
- |------|------|----------|
23
- | **Base** | AI表格,顶级对象,可包含多个数据表 | 边栏插件中通过 `DingdocsScript.base` 引用 |
24
- | **Sheet** | 数据表,包含多个视图、字段、记录 | 通过 Base API 获取具体 Sheet 对象 |
25
- | **View** | 视图 | 通过 Sheet API 获取 |
26
- | **Field** | 字段 | 通过 Sheet API 获取 |
27
- | **Record** | 记录 | 通过 Sheet API 获取 |
28
- | ~~Cell~~ | 单元格(暂不支持) | — |
22
+ |------|------|---------|
23
+ | **Base** | AI 表格顶级对象,可包含多个数据表 | `DingdocsScript.base` |
24
+ | **Sheet** | 数据表,包含视图、字段和记录 | 通过 Base API 获取 |
25
+ | **View** | 视图,数据表的呈现方式 | 通过 Sheet API 获取 |
26
+ | **Field** | 字段,定义数据表的列结构 | 通过 Sheet API 获取 |
27
+ | **Record** | 记录,数据表中的一行数据 | 通过 Sheet API 获取 |
29
28
 
30
29
  ## 快速开始
31
30
 
32
31
  操作 AI 表格数据遵循两步模式:**先确定要操作的对象,再调用该对象上的 API**。
33
32
 
34
- 以新增一条标题为"测试用例"的记录为例,需先通过 Base API 获取激活的 Sheet,再调用 Sheet 的 `insertRecordAsync` 插入数据:
33
+ 以新增一条记录为例:
35
34
 
36
35
  ```typescript
37
36
  // script.ts
38
37
  async function insertRecord() {
39
- // 获取当前激活的数据表
38
+ // 1. 获取当前激活的数据表
40
39
  const sheet = DingdocsScript.base.getActiveSheet();
41
- // 向这个数据表中新增一条记录
40
+ // 2. 调用 Sheet 的 API 插入记录
42
41
  await sheet.insertRecordAsync({
43
42
  fields: {
44
43
  "标题": "测试用例",
@@ -47,26 +46,28 @@ async function insertRecord() {
47
46
  }
48
47
  DingdocsScript.registerScript('insertRecord', insertRecord);
49
48
 
50
- // ui.tsx
49
+ // ui.tsx — 在 UI 侧调用注册的脚本
51
50
  await Dingdocs.script.run('insertRecord');
52
51
  ```
53
52
 
54
- ## 参考文档
53
+ ## 关键要点
55
54
 
56
- 详细的 API 定义请参阅钉钉文档中的《AI 表格对象模型 API 参考文档》。
55
+ 1. **Base 是入口**:所有数据访问从 `DingdocsScript.base` 开始
56
+ 2. **Sheet 是枢纽**:字段、视图、记录的管理都通过 Sheet 对象完成
57
+ 3. **逐级获取**:不能跳级直接获取 Record,需要先获取 Sheet 再获取 Record
57
58
 
58
59
  ## See Also
59
60
 
60
- - [AI表格插件-脚本插件](./AI表格插件-脚本插件.md)
61
- - [AI表格插件-自定义插件](./AI表格插件-自定义插件.md)
62
- - [AI表格三方插件使用授权](./AI表格三方插件使用授权.md)
63
- - [[AI表格 (多维表) OpenAPI 帮助文档|AI表格 OpenAPI 帮助文档]] ([AI表格 OpenAPI 帮助文档](../references/AI表格 (多维表) OpenAPI 帮助文档.md))
64
- - [[Record 模块|Record 模块 API 参考]] ([Record 模块 API 参考](../references/Record 模块.md))
65
- - [[View 模块|View 模块 API 参考]] ([View 模块 API 参考](../references/View 模块.md))
61
+ - [AI表格边栏插件 开发指南](../topics/AI表格边栏插件%20开发指南.md)
62
+ - [Sheet 模块](../references/Sheet%20模块.md)
63
+ - [Record 模块](../references/Record%20模块.md)
64
+ - [View 模块](../references/View%20模块.md)
65
+ - [[AI表格边栏插件 开发指南|AI 表格边栏插件开发指南]] ([AI 表格边栏插件开发指南](<../topics/AI表格边栏插件 开发指南.md>))
66
+ - [[Record 模块|Record 模块 API 参考]] ([Record 模块 API 参考](<../references/Record 模块.md>))
67
+ - [[View 模块|View 模块 API 参考]] ([View 模块 API 参考](<../references/View 模块.md>))
66
68
  - [[其他接口|其他接口 API 参考]] ([其他接口 API 参考](../references/其他接口.md))
67
69
  - [[字段数据结构|字段数据结构参考]] ([字段数据结构参考](../references/字段数据结构.md))
68
- - [[AI表格边栏插件 开发指南|AI 表格边栏插件开发指南]] ([AI 表格边栏插件开发指南](../topics/AI表格边栏插件 开发指南.md))
69
- - [[钉钉AI表格FAQ|钉钉 AI 表格常见问题 FAQ]] ([钉钉 AI 表格常见问题 FAQ](../topics/钉钉AI表格FAQ.md))
70
+ - [[钉钉AI表格FAQ|钉钉 AI 表格常见问题解答]] ([钉钉 AI 表格常见问题解答](../topics/钉钉AI表格FAQ.md))
70
71
 
71
72
  ## Sources
72
73
 
@@ -98,6 +98,7 @@ summary: 跨AI表格数据同步功能可将不同AI表格的数据同步或汇
98
98
  - [组织内共享数据源](../concepts/组织内共享数据源.md)
99
99
  - [钉钉AI听记数据同步](../concepts/钉钉AI听记数据同步.md)
100
100
  - [[单选多选字段同步其他表选项|单选多选字段同步其他表选项]] ([单选多选字段同步其他表选项](../topics/单选多选字段同步其他表选项.md))
101
+ - [[钉钉AI表格FAQ|钉钉 AI 表格 FAQ]] ([钉钉 AI 表格 FAQ](../topics/钉钉AI表格FAQ.md))
101
102
 
102
103
  ## Sources
103
104
 
@@ -89,6 +89,7 @@ summary: 透视表视图通过拖拽字段实现多维度汇总统计,支持
89
89
  - [使用AI表格视图](../topics/使用AI表格视图.md)
90
90
  - [表格视图](../concepts/表格视图.md)
91
91
  - [数据表和视图的关系](../concepts/数据表和视图的关系.md)
92
+ - [[钉钉AI表格FAQ|钉钉 AI 表格 FAQ]] ([钉钉 AI 表格 FAQ](../topics/钉钉AI表格FAQ.md))
92
93
 
93
94
  ## Sources
94
95
 
@@ -2,6 +2,63 @@
2
2
 
3
3
  ## [2026-07-20] 全量编译 | 189 新建, 0 更新, 0 跳过
4
4
  ## [2026-07-30] 增量编译 | 0 新建, 1 更新, 188 跳过
5
- ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 188 跳过, 3 失败
6
- ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 188 跳过, 3 失败
7
- ## [2026-08-24] 增量编译 | 2 新建, 1 更新, 188 跳过
5
+ ## [2026-07-31] 增量编译 | 0 新建, 0 更新, 189 跳过
6
+ ## [2026-08-02] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
7
+ ## [2026-08-02] 增量编译 | 0 新建, 1 更新, 188 跳过
8
+ ## [2026-08-04] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
9
+ ## [2026-08-04] 增量编译 | 0 新建, 1 更新, 188 跳过
10
+ ## [2026-08-11] 增量编译 | 0 新建, 0 更新, 189 跳过
11
+ ## [2026-08-11] 增量编译 | 0 新建, 1 更新, 188 跳过
12
+ ## [2026-08-11] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
13
+ ## [2026-08-11] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
14
+ ## [2026-08-11] 增量编译 | 0 新建, 1 更新, 188 跳过
15
+ ## [2026-08-12] 增量编译 | 0 新建, 1 更新, 188 跳过
16
+ ## [2026-08-13] 增量编译 | 0 新建, 1 更新, 188 跳过
17
+ ## [2026-08-13] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
18
+ ## [2026-08-13] 增量编译 | 0 新建, 1 更新, 188 跳过
19
+ ## [2026-08-13] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
20
+ ## [2026-08-13] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
21
+ ## [2026-08-13] 增量编译 | 0 新建, 1 更新, 188 跳过
22
+ ## [2026-08-13] 增量编译 | 0 新建, 1 更新, 188 跳过
23
+ ## [2026-08-13] 增量编译 | 0 新建, 1 更新, 188 跳过
24
+ ## [2026-08-13] 增量编译 | 0 新建, 1 更新, 188 跳过
25
+ ## [2026-08-14] 增量编译 | 0 新建, 1 更新, 188 跳过
26
+ ## [2026-08-14] 增量编译 | 0 新建, 1 更新, 188 跳过
27
+ ## [2026-08-14] 增量编译 | 0 新建, 0 更新, 188 跳过, 1 失败
28
+ ## [2026-08-14] 增量编译 | 0 新建, 1 更新, 188 跳过
29
+ ## [2026-08-14] 增量编译 | 2 新建, 0 更新, 189 跳过
30
+ ## [2026-08-14] 增量编译 | 0 新建, 1 更新, 190 跳过
31
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
32
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
33
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
34
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
35
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
36
+ ## [2026-08-17] 增量编译 | 0 新建, 1 更新, 190 跳过
37
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
38
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
39
+ ## [2026-08-17] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
40
+ ## [2026-08-17] 增量编译 | 0 新建, 1 更新, 190 跳过
41
+ ## [2026-08-18] 增量编译 | 0 新建, 1 更新, 190 跳过
42
+ ## [2026-08-20] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
43
+ ## [2026-08-20] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
44
+ ## [2026-08-20] 增量编译 | 0 新建, 1 更新, 190 跳过
45
+ ## [2026-08-20] 增量编译 | 0 新建, 1 更新, 190 跳过
46
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
47
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
48
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
49
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
50
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
51
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
52
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
53
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
54
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
55
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
56
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
57
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
58
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
59
+ ## [2026-08-24] 增量编译 | 0 新建, 0 更新, 190 跳过, 1 失败
60
+ ## [2026-08-24] 增量编译 | 0 新建, 1 更新, 190 跳过
61
+ ## [2026-09-04] 增量编译 | 0 新建, 1 更新, 191 跳过
62
+ ## [2026-09-04] 增量编译 | 0 新建, 1 更新, 191 跳过
63
+ ## [2026-09-07] 增量编译 | 1 新建, 0 更新, 192 跳过
64
+ ## [2026-09-07] 增量编译 | 1 新建, 0 更新, 192 跳过
@@ -217,6 +217,10 @@ summary: AI 表格 AI 字段执行过程中常见错误信息的完整汇总,
217
217
 
218
218
  - [AI表格 AI 字段 开发指南](../topics/AI表格%20AI%20字段%20开发指南.md)
219
219
  - [AI表格 AI 字段开发指南(FaaS版)](../topics/AI表格%20AI%20字段开发指南(FaaS版).md)
220
+ - [[国内外快递物流信息查询使用指南|国内外快递物流信息查询使用指南]] ([国内外快递物流信息查询使用指南](../references/国内外快递物流信息查询使用指南.md))
221
+ - [[Dify智能体|Dify 智能体字段模板配置教程]] ([Dify 智能体字段模板配置教程](../topics/Dify智能体.md))
222
+ - [[GPTPro 字段捷径 密钥获取指南|GPTPro 字段捷径密钥获取指南]] ([GPTPro 字段捷径密钥获取指南](<../topics/GPTPro 字段捷径 密钥获取指南.md>))
223
+ - [[快递物流查询助手使用指南|快递物流查询助手使用指南]] ([快递物流查询助手使用指南](../topics/快递物流查询助手使用指南.md))
220
224
 
221
225
  ## Sources
222
226
 
@@ -1,71 +1,80 @@
1
1
  ---
2
- title: AI表格 OpenAPI 帮助文档
2
+ title: AI表格(多维表)OpenAPI 帮助文档
3
3
  category: references
4
4
  sources: [AI表格 (多维表) OpenAPI 帮助文档.md]
5
- created: 2026-08-24
6
- updated: 2026-08-24
7
- tags: [AI表格, OpenAPI, API, 数据结构, 多维表]
8
- aliases: [多维表API, AI表格API, OpenAPI帮助文档]
5
+ created: 2026-09-04
6
+ updated: 2026-09-04
7
+ tags: [AI表格, 多维表, OpenAPI, 钉钉开放平台, CRUD]
8
+ aliases: [多维表OpenAPI, 钉钉AI表格API, notable API]
9
9
  confidence: high
10
- summary: AI表格 OpenAPI 全量发布后的帮助文档,涵盖 Sheet、Field、Record 的 CRUD 接口定义、数据结构(字段类型与记录值格式)、调用方式与常见问题。API 前缀为 https://api.dingtalk.com/v1.0/notable/bases/。
10
+ summary: 钉钉 AI 表格(多维表)OpenAPI 参考文档,涵盖数据结构(Base/Sheet/Field/Record)、支持的字段类型、Sheet/Field/Record 的 CRUD 接口列表,以及附件上传等常见操作说明。
11
11
  ---
12
12
 
13
- > AI表格 OpenAPI 支持对 Sheet、Field、Record 的增删改查操作。本文档涵盖调用方式、数据结构与 API 列表,是服务端集成 AI表格的参考文档。
13
+ > AI 表格 OpenAPI 是钉钉开放平台提供的用于程序化管理 AI 表格(多维表)数据的接口集合,支持对 Sheet(数据表)、Field(字段)、Record(记录)进行完整的增删改查操作。本文档汇总了调用方式、数据结构、字段类型及 API 列表等关键参考信息。
14
14
 
15
- > **注意**:AI表格 OpenAPI 已全量发布,完整文档请前往[钉钉开放平台](https://open.dingtalk.com/document/orgapp/notable-data-structure)查看。本文档不再更新。
15
+ > **注意**:AI 表格 OpenAPI 已全量发布,完整文档请前往 [钉钉开放平台](https://open.dingtalk.com/document/orgapp/notable-data-structure) 查看,本文档不再更新。
16
16
 
17
17
  ## 调用方式
18
18
 
19
- 调用 AI表格 API 需完成以下步骤:
19
+ 调用 AI 表格 API 前需完成以下准备:
20
20
 
21
- 1. **添加接口调用权限**:申请权限点「AI表格应用读权限」及「AI表格应用写权限」。[添加 API 权限](https://open.dingtalk.com/document/orgapp/add-api-permission)
22
- 2. **获取 accessToken**:[获取企业内部应用的 accessToken](https://open.dingtalk.com/document/orgapp/obtain-the-access_token-of-an-internal-app)
23
- 3. **调用 API**:参考[钉钉开放平台 API 概览](https://open.dingtalk.com/document/orgapp/dingtalk-openapi-overview)
21
+ 1. **添加接口调用权限**:申请「AI 表格应用读权限」及「AI 表格应用写权限」。参考 [添加接口调用权限](https://open.dingtalk.com/document/orgapp/add-api-permission)。
22
+ 2. **获取 accessToken**:通过 [获取企业内部应用的 accessToken](https://open.dingtalk.com/document/orgapp/obtain-the-access_token-of-an-internal-app) 接口获取凭证。
23
+ 3. **调用 API**:参考 [调用服务端 API](https://open.dingtalk.com/document/orgapp/how-to-call-apis) 及 [钉钉 OpenAPI 概览](https://open.dingtalk.com/document/orgapp/dingtalk-openapi-overview)。
24
+
25
+ **关键约定**:
26
+
27
+ - API 固定前缀:`https://api.dingtalk.com/v1.0/notable/bases/`
28
+ - 所有 API 均需要通过 `operatorId` 参数指定操作用户身份
29
+ - API 调用次数计费遵循 [钉钉开放平台规则](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls)
30
+ - API 也可在 [SDK](https://open.dingtalk.com/document/orgapp/sdk-download) 中使用,搜索方法名即可,接口位于 `notable_1.0` 命名空间下
24
31
 
25
32
  ## 数据结构
26
33
 
27
- AI表格包含以下基本结构:
34
+ AI 表格包含以下四层基本结构:
28
35
 
29
- ### Base
36
+ ### Base(文档)
30
37
 
31
- 即一篇 AI表格文档。`baseId` 唯一标识一篇文档,可通过以下方式获取:
38
+ Base 代表一篇 AI 表格文档,通过 `baseId` 唯一标识。获取 `baseId` 的方式:
32
39
 
33
- - **通过 URL 获取**:文档 URL 中包含 baseId
40
+ **通过 URL 获取**
34
41
 
35
- ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/AJdl64r2VK4vqke1/img/231ffaa5-891e-42de-b129-b16038a741c4.png)
42
+ ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/AJdl64r2VK4vqke1/img/231ffaa5-891e-42de-b129-b16038a741c4.png)
36
43
 
37
- - **通过文档信息面板获取**
44
+ **通过文档信息面板获取**
38
45
 
39
- ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/AJdl64r2VK4vqke1/img/37d3bcb9-61b2-46f1-acdd-a8180f99211f.png)
40
- ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/AJdl64r2VK4vqke1/img/193e9694-6da3-4225-881f-bf4a2c5c3d78.png)
46
+ ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/AJdl64r2VK4vqke1/img/37d3bcb9-61b2-46f1-acdd-a8180f99211f.png)
47
+ ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/AJdl64r2VK4vqke1/img/193e9694-6da3-4225-881f-bf4a2c5c3d78.png)
41
48
 
42
- - **通过其它 API 获取**:[知识库 API](https://open.dingtalk.com/document/orgapp/knowledge-base-overview) 返回的 `dentryUuid` 即是 AI表格 `baseId`
49
+ **通过 API 获取**
50
+
51
+ - [知识库 API](https://open.dingtalk.com/document/orgapp/knowledge-base-overview) 返回的 `dentryUuid` 即为 AI 表格的 `baseId`
43
52
  - [获取节点](https://open.dingtalk.com/document/orgapp/get-node)
44
- - [创建知识库文档](https://open.dingtalk.com/document/orgapp/create-team-space-document)(创建 AI表格时 `docType` 值为 `BASE`)
53
+ - [创建知识库文档](https://open.dingtalk.com/document/orgapp/create-team-space-document)(创建 AI 表格时 `docType` 值为 `BASE`)
45
54
 
46
- ### Sheet
55
+ ### Sheet(数据表)
47
56
 
48
- 即数据表。一篇 AI表格文档中通常有多个数据表,且至少有一个。
57
+ Sheet 代表一张数据表。一篇 AI 表格文档中通常包含多个数据表,且至少有一个。
49
58
 
50
- - 所有访问 sheet 的接口可用 `sheetId` 或 `sheetName` 作为入参
51
- - `sheetId` 仅保证文档内唯一,不保证全局唯一
52
- - `sheetName` 为前端可见名称(如 `阅读记录`)
59
+ - 可通过 `sheetId` 或 `sheetName` 访问数据表
60
+ - `sheetId` 可通过「获取所有数据表」等接口获取,仅保证在文档内唯一
61
+ - `sheetName` 为前端可见的数据表名称(如 `阅读记录`)
53
62
 
54
- ### Field
63
+ ### Field(字段)
55
64
 
56
- 即字段,数据表中的每一列。
65
+ Field 代表数据表中的一列。一个数据表通常有多个字段。
57
66
 
58
- - 所有访问 field 的接口可用 `fieldId` 或 `fieldName` 作为入参
59
- - `fieldId` 仅保证文档内唯一,不保证全局唯一
60
- - `fieldName` 为前端可见名称(如 `学科领域`)
61
- - 每个数据表的第一列为「主字段」,仅支持特定几种字段类型,且该列不可删除
67
+ - 可通过 `fieldId` 或 `fieldName` 访问字段
68
+ - `fieldId` 可通过「获取所有字段」等接口获取,仅保证在文档内唯一
69
+ - `fieldName` 为前端可见的字段名称(如 `学科领域`)
70
+ - 每个 Sheet 的第一列为「主字段」,仅支持特定几种字段类型,且该列不可删除。可通过打开任意 AI 表格 → 编辑主字段 → 查看可设置的字段类型来确认
62
71
 
63
- ### Record
72
+ ### Record(记录)
64
73
 
65
- 即记录,数据表中的每一行。
74
+ Record 代表数据表中的一行。一个数据表通常有多条记录。
66
75
 
67
- - 访问 record 接口需使用 `recordId`
68
- - `recordId` 仅保证文档内唯一,不保证全局唯一
76
+ - 所有访问记录的接口需要使用 `recordId`
77
+ - `recordId` 可通过「新增多行记录」「获取多行记录」等接口获取,仅保证在文档内唯一
69
78
 
70
79
  ![image.png](https://alidocs.oss-cn-zhangjiakou.aliyuncs.com/res/4j6OJQKGL3Ngq3p8/img/bdc8d25c-c5ac-4bd4-be92-6e7d97b4c3e3.png)
71
80
 
@@ -73,94 +82,81 @@ AI表格包含以下基本结构:
73
82
 
74
83
  目前仅支持以下字段类型:
75
84
 
76
- | 字段 | 类型 (type) | 属性 (property) | 设置值格式 | 返回值格式 |
77
- |------|------------|----------------|-----------|-----------|
78
- | 文本 | `text` | 无 | `"TextString"` | `"TextString"` |
79
- | 数字 | `number` | `{ formatter: "INT" \| "FLOAT_1" \| ... }` | `123` | `"123"` |
80
- | 货币 | `currency` | `{ currencyType, formatter }` | `123` | `"123"` |
81
- | 单选 | `singleSelect` | `{ choices: [{ name }] }` | `"optionName"` | `{ id, name }` |
82
- | 多选 | `multipleSelect` | 同单选 | `["opt1", "opt2"]` | `[{ id, name }]` |
83
- | 日期 | `date` | `{ formatter: "YYYY-MM-DD" \| ... }` | 时间戳或 ISO 8601 字符串 | 时间戳 |
84
- | 人员 | `user` | `{ multiple: boolean }` | `[{ unionId }]` | `[{ unionId }]` |
85
- | 部门 | `department` | `{ multiple: boolean }` | `[{ deptId }]` | `[{ deptId }]` |
86
- | 群组 | `group` | `{ multiple: boolean }` | `[{ openConversationId }]` | `[{ openConversationId }]` |
87
- | 附件 | `attachment` | 无 | 需先上传获取 | `[{ filename, size, type, url }]` |
88
- | 单向关联 | `unidirectionalLink` | `{ multiple, linkedSheetId }` | `{ linkedRecordIds: [...] }` | `{ linkedRecordIds: [...] }` |
89
- | 双向关联 | `bidirectionalLink` | `{ multiple, linkedSheetId, linkedFieldId }` | `{ linkedRecordIds: [...] }` | `{ linkedRecordIds: [...] }` |
90
- | 链接 | `url` | 无 | `{ text, link }` | `{ text, link }` |
91
- | 富文本 | `richText` | 无 | `{ markdown: "..." }` | `{ markdown: "..." }` |
92
- | 地理位置 | `geolocation` | 无 | `{ address, name, location }` | `{ address, name, location }` |
93
-
94
- > **注意**:富文本字段通过 markdown 读取后的值是有损的,颜色、字体样式、@人 等信息会丢失。
95
- >
96
- > **附件 URL**:当附件是在线文档时,链接无访问时效;其它文件为有访问时效的下载链接。
85
+ | 字段 | 类型 (type) | 设置值格式 | 返回值格式 |
86
+ | --- | --- | --- | --- |
87
+ | 文本 | `text` | `"TextString"`(字符串) | `"TextString"`(字符串) |
88
+ | 数字 | `number` | `123`(整数/浮点数/字符串) | `"123"`(字符串形式) |
89
+ | 货币 | `currency` | `123`(整数/浮点数/字符串),需指定 `currencyType` | `"123"`(字符串形式) |
90
+ | 单选 | `singleSelect` | `"optionName1"`(选项名) | `{ "id": "id", "name": "optionName1" }` |
91
+ | 多选 | `multipleSelect` | `["optionName1", "optionName2"]` | `[{ "id": "id1", "name": "optionName1" }, ...]` |
92
+ | 日期 | `date` | `1688601600000`(时间戳)或 ISO 8601 字符串 | `1688601600000`(时间戳) |
93
+ | 人员 | `user` | `[{ "unionId": "xxx" }]` | `[{ "unionId": "xxx" }]` |
94
+ | 部门 | `department` | `[{ "deptId": "xxx" }]` | `[{ "deptId": "xxx" }]` |
95
+ | 群组 | `group` | `[{ "openConversationId": "xxx" }]` | `[{ "openConversationId": "xxx" }]` |
96
+ | 附件 | `attachment` | 需先通过资源上传接口获取 | `[{ "filename": "...", "size": ..., "url": "..." }]` |
97
+ | 单向关联 | `unidirectionalLink` | `{ "linkedRecordIds": ["xxx"] }` | `{ "linkedRecordIds": ["xxx"] }` |
98
+ | 双向关联 | `bidirectionalLink` | `{ "linkedRecordIds": ["xxx"] }` | `{ "linkedRecordIds": ["xxx"] }` |
99
+ | 链接 | `url` | `{ "text": "...", "link": "..." }` | `{ "text": "...", "link": "..." }` |
100
+ | 富文本 | `richText` | `{ "markdown": "..." }` | `{ "markdown": "..." }` |
101
+ | 地理位置 | `geolocation` | `{ "address": "...", "name": "...", "location": [...] }` | `{ "address": "...", "name": "...", "location": [...] }` |
102
+
103
+ **字段配置说明**:
104
+
105
+ - **数字**:支持 `INT`(整数)、`FLOAT_1`~`FLOAT_4`(保留 1-4 位小数)、`THOUSAND`(千分位)、`THOUSAND_FLOAT`、`PERCENT`(百分比)、`PERCENT_FLOAT` 等格式
106
+ - **货币**:额外支持 CNY、HKD、USD、EUR、GBP、JPY、KRW 等多种货币类型
107
+ - **日期**:支持 `YYYY-MM-DD`、`YYYY-MM-DD HH:mm`、`YYYY/MM/DD`、`YYYY/MM/DD HH:mm` 四种显示格式
108
+ - **人员/部门/群组**:通过 `multiple` 属性控制是否支持多选,默认为 `true`
109
+ - **单向关联**:需指定 `linkedSheetId`(关联的数据表 ID);可通过关联的 `sheetId` + `recordId` 调用 `GetRecord` 获取关联记录的值
110
+ - **双向关联**:需指定 `linkedSheetId`,创建时不需传 `linkedFieldId`(由系统自动生成)
111
+
112
+ **注意事项**:
113
+
114
+ - 富文本字段通过 markdown 读取后的值是有损的,颜色、字体样式、@人等信息会丢失
115
+ - 附件字段返回的 `url`:当附件是在线文档时,链接无访问时效;当附件为其他文件时,链接具有访问时效,一段时间后无法访问
97
116
 
98
117
  ## API 列表
99
118
 
100
- > **调用前必看**:
101
- > 1. API 固定前缀为 `https://api.dingtalk.com/v1.0/notable/bases/`,以下省略,调用时需自行添加。
102
- > 2. 所有 API 需通过 query 中的 `operatorId` 参数指定调用用户身份。
103
- > 3. 调用次数计费遵循[钉钉开放平台规则](https://open.dingtalk.com/document/orgapp/descriptions-about-adjusting-limit-and-frequency-of-api-calls)。
104
- >
105
- > API 也可在[钉钉开放平台 SDK](https://open.dingtalk.com/document/orgapp/sdk-download) 中使用,搜索方法名即可(如搜索 `CreateSheet`)。接口位于 `notable_1.0` 命名空间下。
106
-
107
- ### 数据表
108
-
109
- | API | 方法 | 路径 |
110
- |-----|------|------|
111
- | 创建数据表 CreateSheet | POST | `{baseId}/sheets?operatorId={operatorId}` |
112
- | 获取所有数据表 GetAllSheets | GET | `{baseId}/sheets?operatorId={operatorId}` |
113
- | 获取数据表 GetSheet | GET | `{baseId}/sheets/{sheetId}?operatorId={operatorId}` |
114
- | 更新数据表 UpdateSheet | PUT | `{baseId}/sheets/{sheetIdOrName}?operatorId={operatorId}` |
115
- | 删除数据表 DeleteSheet | DELETE | `{baseId}/sheets/{sheetIdOrName}?operatorId={operatorId}` |
119
+ ### 数据表 API
116
120
 
117
- 创建数据表示例:
118
-
119
- ```json
120
- POST {baseId}/sheets?operatorId={operatorId}
121
- BODY
122
- {
123
- "name": "Sheet1",
124
- "fields": [
125
- { "name": "Field1", "type": "text" },
126
- { "name": "Field2", "type": "number" }
127
- ]
128
- }
129
- ```
121
+ | API 名 | 方法 | 路径 |
122
+ | --- | --- | --- |
123
+ | 创建数据表 CreateSheet | `POST` | `{baseId}/sheets` |
124
+ | 获取所有数据表 GetAllSheets | `GET` | `{baseId}/sheets` |
125
+ | 获取数据表 GetSheet | `GET` | `{baseId}/sheets/{sheetId}` |
126
+ | 更新数据表 UpdateSheet | `PUT` | `{baseId}/sheets/{sheetIdOrName}` |
127
+ | 删除数据表 DeleteSheet | `DELETE` | `{baseId}/sheets/{sheetIdOrName}` |
130
128
 
131
- ### 字段
129
+ ### 字段 API
132
130
 
133
- | API | 方法 | 路径 |
134
- |-----|------|------|
135
- | 新增字段 CreateField | POST | `{baseId}/sheets/{sheetIdOrName}/fields?operatorId={operatorId}` |
136
- | 获取所有字段 GetAllFields | GET | `{baseId}/sheets/{sheetIdOrName}/fields?operatorId={operatorId}` |
137
- | 更新字段 UpdateField | PUT | `{baseId}/sheets/{sheetIdOrName}/fields/{fieldIdOrName}?operatorId={operatorId}` |
138
- | 删除字段 DeleteField | DELETE | `{baseId}/sheets/{sheetIdOrName}/fields/{fieldIdOrName}?operatorId={operatorId}` |
131
+ | API 名 | 方法 | 路径 |
132
+ | --- | --- | --- |
133
+ | 新增字段 CreateField | `POST` | `{baseId}/sheets/{sheetIdOrName}/fields` |
134
+ | 获取所有字段 GetAllFields | `GET` | `{baseId}/sheets/{sheetIdOrName}/fields` |
135
+ | 更新字段 UpdateField | `PUT` | `{baseId}/sheets/{sheetIdOrName}/fields/{fieldIdOrName}` |
136
+ | 删除字段 DeleteField | `DELETE` | `{baseId}/sheets/{sheetIdOrName}/fields/{fieldIdOrName}` |
139
137
 
140
- > **为什么返回的字段数量不全?** 目前只返回支持的字段类型。
138
+ > **Q:为什么返回的字段数量不全?** 目前只返回支持的字段类型,具体参考上方字段类型列表。
141
139
  >
142
- > **为什么返回的字段顺序和界面不同?** AI表格中数据表是无序的,只有视图才有序,暂不支持基于视图获取字段。
140
+ > **Q:为什么返回的字段顺序和界面看到的顺序不同?** AI 表格中数据表是无序的,只有视图才有序。目前暂不支持基于视图获取所有字段。
143
141
 
144
- ### 记录
142
+ ### 记录 API
145
143
 
146
- | API | 方法 | 路径 |
147
- |-----|------|------|
148
- | 新增多行记录 InsertRecords | POST | `{baseId}/sheets/{sheetIdOrName}/records?operatorId={operatorId}` |
149
- | 列出多行记录 ListRecords | POST | `{baseId}/sheets/{sheetIdOrName}/records/list?operatorId={operatorId}` |
150
- | 获取记录 GetRecord | GET | `{baseId}/sheets/{sheetIdOrName}/records/{recordId}?operatorId={operatorId}` |
151
- | 更新多行记录 UpdateRecords | PUT | `{baseId}/sheets/{sheetIdOrName}/records?operatorId={operatorId}` |
152
- | 删除多条记录 DeleteRecords | POST | `{baseId}/sheets/{sheetIdOrName}/records/delete?operatorId={operatorId}` |
144
+ | API 名 | 方法 | 路径 |
145
+ | --- | --- | --- |
146
+ | 新增多行记录 InsertRecords | `POST` | `{baseId}/sheets/{sheetIdOrName}/records` |
147
+ | 列出多行记录 ListRecords | `POST` | `{baseId}/sheets/{sheetIdOrName}/records/list` |
148
+ | 获取记录 GetRecord | `GET` | `{baseId}/sheets/{sheetIdOrName}/records/{recordId}` |
149
+ | 更新多行记录 UpdateRecords | `PUT` | `{baseId}/sheets/{sheetIdOrName}/records` |
150
+ | 删除多条记录 DeleteRecords | `POST` | `{baseId}/sheets/{sheetIdOrName}/records/delete` |
153
151
 
154
- 新增多行记录示例:
152
+ **InsertRecords 示例**:
155
153
 
156
154
  ```json
157
- POST {baseId}/sheets/{sheetIdOrName}/records?operatorId={operatorId}
158
- BODY
159
155
  {
160
156
  "records": [
161
157
  {
162
158
  "fields": {
163
- "多行文本": "内容1",
159
+ "多行文本": "多行文本内容",
164
160
  "数字": 100,
165
161
  "单选": "选项1",
166
162
  "多选": ["选项1", "选项2"]
@@ -168,7 +164,7 @@ BODY
168
164
  },
169
165
  {
170
166
  "fields": {
171
- "多行文本": "内容2",
167
+ "多行文本": "多行文本内容_",
172
168
  "数字": 101,
173
169
  "单选": "选项2",
174
170
  "多选": ["选项1"]
@@ -178,26 +174,34 @@ BODY
178
174
  }
179
175
  ```
180
176
 
181
- 列出记录支持分页(`maxResults` 最大 100,`nextToken` 用于翻页),返回包含 `hasMore`、`nextToken` 以及每条记录的 `fields`、`createdBy`、`lastModifiedBy`、`createdTime`、`lastModifiedTime`。
177
+ 其中 `records` 是数组,每个元素代表一行;`fields` 为 key-value pair,key 是字段 ID 或字段名,value 是要填入的值(格式与字段类型相关)。
182
178
 
183
- > **为什么返回的记录顺序和界面不同?** 数据表是无序的,只有视图才有序。
179
+ **ListRecords 说明**:
180
+
181
+ - 支持分页:`maxResults` 每次拉取行数最大 100,`nextToken` 用于翻页
182
+ - 特定情况下可能返回空数组,只要 `hasMore` 为 `true` 说明数据未拉完,需继续请求
183
+ - 返回包含记录的 `fields`、`createdBy`、`lastModifiedBy`、`createdTime`、`lastModifiedTime`
184
+
185
+ > **Q:为什么返回的记录顺序和界面看到的顺序不同?** 数据表是无序的,只有视图才有序。目前暂不支持基于视图获取所有记录。
184
186
 
185
187
  ## 常见问题
186
188
 
187
- ### Q:如何创建 AI表格?
189
+ ### Q:如何创建 AI 表格?
188
190
 
189
- 使用[创建知识库文档接口](https://open.dingtalk.com/document/orgapp/create-team-space-document),`docType` 传 `BASE`。
191
+ 使用 [创建知识库文档接口](https://open.dingtalk.com/document/orgapp/create-team-space-document),`docType` 传 `BASE`。
190
192
 
191
- ### Q:如何调整 AI表格权限?
193
+ ### Q:如何调整 AI 表格权限?
192
194
 
193
- 文档权限请使用[权限管理接口](https://open.dingtalk.com/document/orgapp/add-permissions-file)。高级权限暂不支持 API 访问。
195
+ AI 表格文档权限请使用 [权限管理接口](https://open.dingtalk.com/document/orgapp/add-permissions-file) 访问。AI 表格高级权限暂不支持 API 访问。
194
196
 
195
197
  ### Q:如何上传附件?
196
198
 
197
- 上传附件需 3 步:
199
+ 上传附件需要 3 步:
198
200
 
199
201
  **第 1 步:获取资源上传信息**
200
202
 
203
+ 权限点:企业存储文件写权限。
204
+
201
205
  ```http
202
206
  POST /v1.0/doc/docs/resources/{documentId}/uploadInfos/query?operatorId=String HTTP/1.1
203
207
  Host: api.dingtalk.com
@@ -205,7 +209,35 @@ x-acs-dingtalk-access-token: String
205
209
  Content-Type: application/json
206
210
  ```
207
211
 
208
- Body 参数:`size`(资源大小)、`mediaType`(mimeType)、`resourceName`(资源名称)。返回 `uploadUrl`、`resourceId`、`resourceUrl`。
212
+ 请求参数:
213
+
214
+ | 名称 | 类型 | 必填 | 描述 |
215
+ | --- | --- | --- | --- |
216
+ | documentId (Path) | String | 是 | 文档唯一标识,即 baseId/dentryUuid |
217
+ | operatorId (Query) | String | 是 | 操作用户 unionId |
218
+ | size (Body) | Long | 是 | 资源大小 |
219
+ | mediaType (Body) | String | 是 | [mimeType](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Guides/MIME_types/Common_types) |
220
+ | resourceName (Body) | String | 是 | 资源名称 |
221
+
222
+ 返回参数:
223
+
224
+ | 名称 | 类型 | 描述 |
225
+ | --- | --- | --- |
226
+ | uploadUrl | String | 资源上传地址 |
227
+ | resourceId | String | 资源 ID |
228
+ | resourceUrl | String | 资源访问 URL |
229
+
230
+ 返回示例:
231
+
232
+ ```json
233
+ {
234
+ "result": {
235
+ "resourceId": "6c6a466c-6a52-4aa0-a80f-13896e635145",
236
+ "uploadUrl": "https://alidocs2.oss-cn-zhangjiakou.aliyuncs.com/res/..."
237
+ },
238
+ "success": true
239
+ }
240
+ ```
209
241
 
210
242
  **第 2 步:上传文件到 uploadUrl**
211
243
 
@@ -213,7 +245,7 @@ Body 参数:`size`(资源大小)、`mediaType`(mimeType)、`resourceNa
213
245
  curl -X PUT -H "Content-Type: image/jpeg" --data-binary @/path/to/your/image.jpg {uploadUrl}
214
246
  ```
215
247
 
216
- **第 3 步:调用新增/更新记录接口写入 AI表格**
248
+ **第 3 步:调用新增/更新多行记录接口写入 AI 表格**
217
249
 
218
250
  ```json
219
251
  [
@@ -233,7 +265,7 @@ curl -X PUT -H "Content-Type: image/jpeg" --data-binary @/path/to/your/image.jpg
233
265
 
234
266
  - [字段数据结构](./字段数据结构.md)
235
267
  - [其他接口](./其他接口.md)
236
- - [核心知识](../concepts/核心知识.md)
268
+ - [常见问题](./常见问题.md)
237
269
 
238
270
  ## Sources
239
271
 
@@ -49,6 +49,8 @@ if (Base.isFieldOfType(barcodeField, 'barcode')) {
49
49
 
50
50
  - [Base 模块 API 参考](../references/Base%20模块.md)
51
51
  - [AutoNumberField 自动编号字段 API](../references/AutoNumberField%20自动编号字段.md)
52
+ - [[AttachmentField 附件字段|AttachmentField 附件字段 API]] ([AttachmentField 附件字段 API](<../references/AttachmentField 附件字段.md>))
53
+ - [[EmailField 邮箱字段|EmailField 邮箱字段 API]] ([EmailField 邮箱字段 API](<../references/EmailField 邮箱字段.md>))
52
54
 
53
55
  ## Sources
54
56
 
@@ -151,6 +151,20 @@ const hasPermission = await Base.getPermissionAsync({
151
151
  - [Sheet 模块](../references/Sheet%20模块.md)
152
152
  - [读写AI 表格模型](../concepts/读写AI%20表格模型.md)
153
153
  - [Field 模块](../references/Field%20模块.md)
154
+ - [[AttachmentField 附件字段|AttachmentField 附件字段 API]] ([AttachmentField 附件字段 API](<../references/AttachmentField 附件字段.md>))
155
+ - [[AutoNumberField 自动编号字段|AutoNumberField 自动编号字段 API]] ([AutoNumberField 自动编号字段 API](<../references/AutoNumberField 自动编号字段.md>))
156
+ - [[BarcodeField 条码字段|BarcodeField 条码字段 API]] ([BarcodeField 条码字段 API](<../references/BarcodeField 条码字段.md>))
157
+ - [[BidirectionalLinkField 双向关联字段|BidirectionalLinkField 双向关联字段 API]] ([BidirectionalLinkField 双向关联字段 API](<../references/BidirectionalLinkField 双向关联字段.md>))
158
+ - [[CheckboxField 复选框字段|CheckboxField 复选框字段 API]] ([CheckboxField 复选框字段 API](<../references/CheckboxField 复选框字段.md>))
159
+ - [[CreatedTimeField 创建时间字段|CreatedTimeField 创建时间字段 API]] ([CreatedTimeField 创建时间字段 API](<../references/CreatedTimeField 创建时间字段.md>))
160
+ - [[CurrencyField 货币字段|CurrencyField 货币字段 API]] ([CurrencyField 货币字段 API](<../references/CurrencyField 货币字段.md>))
161
+ - [[DateField 日期字段|DateField 日期字段 API]] ([DateField 日期字段 API](<../references/DateField 日期字段.md>))
162
+ - [[DepartmentField 部门字段|DepartmentField 部门字段 API]] ([DepartmentField 部门字段 API](<../references/DepartmentField 部门字段.md>))
163
+ - [[EmailField 邮箱字段|EmailField 邮箱字段 API]] ([EmailField 邮箱字段 API](<../references/EmailField 邮箱字段.md>))
164
+ - [[Event事件模块|Event 事件模块 API 参考]] ([Event 事件模块 API 参考](../references/Event事件模块.md))
165
+ - [[Input模块|Input 模块 API 参考]] ([Input 模块 API 参考](../references/Input模块.md))
166
+ - [[UI 模块|UI 模块 API 参考]] ([UI 模块 API 参考](<../references/UI 模块.md>))
167
+ - [[AI表格脚本插件 开发指南|AI 表格脚本插件开发指南]] ([AI 表格脚本插件开发指南](<../topics/AI表格脚本插件 开发指南.md>))
154
168
 
155
169
  ## Sources
156
170
 
@@ -110,6 +110,8 @@ const format = numberField.getFormat();
110
110
  - [Sheet 模块](../references/Sheet%20模块.md)
111
111
  - [字段数据结构](../references/字段数据结构.md)
112
112
  - [Record 模块](../references/Record%20模块.md)
113
+ - [[读写AI 表格模型|读写 AI 表格模型]] ([读写 AI 表格模型](<../concepts/读写AI 表格模型.md>))
114
+ - [[Base 模块|Base 模块 API 参考]] ([Base 模块 API 参考](<../references/Base 模块.md>))
113
115
 
114
116
  ## Sources
115
117