内容写入
如何将 Markdown 格式的内容写入钉钉文档?
-
方式一:插入内容(追加,不影响已有内容)
调用插入内容接口,将 Markdown 内容插入到文档指定位置:
-
方式二:覆写文档(清空后重写)
调用覆写文档(应用授权)接口,以 Markdown 格式覆写文档全部内容:
覆写文档会清空文档现有全部内容,属于破坏性操作,请谨慎使用。如果只需追加内容,请使用插入内容接口。
块元素操作
如何插入带内容的段落
调用插入块元素接口,在文档中插入一个段落块,并通过children字段指定段落内的行内元素:
paragraph对象不能被省略,即使段落无特殊属性,也需要传入空对象{}。
如何在文档指定位置(而非末尾)插入块元素
调用插入块元素接口时,通过blockId或index指定目标位置,并通过where参数控制插入到目标位置之前还是之后:
| 参数 | 说明 |
|---|---|
blockId | 目标块的唯一标识,插入到该块之前或之后 |
index | 当blockId不存在时,使用文档第index个一级块作为目标位置(从 0 开始) |
where | "before"表示插入到目标位置之前,"after"表示之后(默认为"after") |
如何插入标题
调用插入块元素接口,将blockType设置为heading,并在heading对象中通过level指定标题级别(1~6):
heading.level 与标题级别的对应关系:
| level 值 | 对应标题 |
|---|---|
1 | 一级标题(H1) |
2 | 二级标题(H2) |
3 | 三级标题(H3) |
4 | 四级标题(H4) |
5 | 五级标题(H5) |
6 | 六级标题(H6) |
如何插入引用块
调用插入块元素接口,将blockType设置为blockquote,并在blockquote对象中传入引用内容:
如何插入高亮块并在其中嵌套段落
高亮块的children只能是BlockElement数组。调用插入块元素接口时,在children中传入子段落:
children类型不同:段落块的children只能是行内元素;高亮块的children只能是块元素。
如何插入分栏
调用插入块元素接口,将blockType设置为columns,通过columns.size指定分栏数量,并在children中传入各栏的块元素内容:
columns 对象的字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
size | Number | 分栏数量 |
noFill | Boolean | 是否自动填充背景色,默认false |
columns的children只能是 BlockElement 数组,不能是行内元素。
如何插入有序列表
调用插入块元素接口,将blockType设置为orderedList,并在orderedList对象中传入列表属性,在children中传入列表项文本:
list 对象的常用字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
listId | String | 列表的唯一标识,同一列表的多个列表项应使用相同的listId |
level | Number | 列表缩进层级,从0开始 |
listStyleType | String | 列表样式类型,有序列表使用"decimal" |
如何插入无序列表
调用插入块元素接口,将blockType设置为unorderedList,并在unorderedList对象中传入列表属性,在children中传入列表项文本:
listId用于将多个列表项关联为同一个列表。若要插入同一列表的多个列表项,每个列表项应使用相同的listId,可通过 BatchOperate 批量接口一次性插入。
查询操作
如何获取文档中所有块元素的 blockId?
调用查询块元素接口,获取文档根节点下的一级块元素列表,每个元素包含其id(即blockId):