钉钉机器人发送 Markdown 消息如何添加超链接和引用格式?
在钉钉自定义机器人中发送 Markdown 消息,需要在请求体中指定 msgtype 为 markdown,并在 text 字段中使用标准的链接和引用语法,同时注意安全设置中的关键词匹配。
先说结论:配置机器人后,通过 POST 请求发送特定 JSON 结构,文本内容遵循 Markdown 子集规范即可实现链接和引用。
- 适合:需要在群聊中展示可点击链接或强调特定文本的场景
- 先看:机器人安全设置是否开启了关键词或 IP 白名单
- 建议:发送前先在测试群验证格式,避免正式群消息渲染失败
快速处理思路
POST https://oapi.dingtalk.com/robot/send?access_token=YOUR_TOKEN
Content-Type: application/json
{
"msgtype": "markdown",
"markdown": {
"title": "消息标题",
"text": "# 标题 \n > 引用内容 \n [链接文字](https://example.com)"
}
}为什么会这样
钉钉机器人接口定义了特定的消息类型,Markdown 类型并非完全兼容通用 Markdown 解析器,而是经过筛选的子集。链接和引用是官方明确支持的基础格式,但需要包裹在正确的 JSON 层级中才能被客户端识别渲染。
分步处理
第一步:确认机器人状态
进入群设置查看机器人详情,确认安全设置。如果开启了关键词,消息内容必须包含该关键词,否则接口会返回错误。
第二步:构造请求体
链接使用 [显示文本](URL) 格式,引用使用 > 文本 格式。注意 text 字段中的换行需要用 \n 表示,JSON 中的双引号需要转义。
第三步:发送请求
使用 curl 或代码库发起 POST 请求。确保 access_token 有效且未过期,请求头需设置 Content-Type 为 application/json。
怎么验证是否生效
观察钉钉群聊窗口,链接应显示为蓝色可点击状态,引用内容左侧应有竖线标识。如果消息发送失败,接口会返回错误码,或群内显示“消息发送失败”。
常见坑
1. 安全关键词缺失:内容中未包含设置的关键词会导致发送被拦截。
2. 特殊字符转义:JSON 中的双引号需要转义,否则会导致解析错误。
3. 长度限制:官方文档提示有长度限制,内容过长会被截断或发送失败,建议控制在合理范围内。
参考来源
钉钉开放平台 - 自定义机器人接入
https://open.dingtalk.com/document/robots/custom-robot-access

浙公网安备 33010602011771号