钉钉机器人发送 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

原文链接:https://www.zjcp.cc/ask/10701.html

posted @ 2026-05-10 14:16  茶猫云呀  阅读(3)  评论(0)    收藏  举报