钉钉如何发送markdown消息并展示在钉钉会话中?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
要在钉钉会话中发送Markdown消息并正确展示,需要按照以下步骤进行配置和操作:
Markdown是一种轻量级的标记语言,支持通过简单的语法实现富文本效果。在钉钉中,Markdown消息可以通过msgtype
为markdown
的方式发送。
基本结构:
{
"msgtype": "markdown",
"markdown": {
"title": "标题内容",
"text": "Markdown格式的消息正文"
}
}
title
:消息的标题,显示在消息卡片的顶部。text
:消息的正文内容,支持Markdown语法(如加粗、列表、链接等)。示例内容:
{
"msgtype": "markdown",
"markdown": {
"title": "系统告警通知",
"text": "### 告警详情\n- **资源名称**: 示例资源\n- **告警时间**: 2023-10-01 12:00:00\n- 查看详情"
}
}
钉钉提供了Webhook接口,用于将消息推送到指定的群聊或会话中。以下是具体实现步骤:
通过HTTP POST请求将Markdown消息发送到Webhook地址。以下是一个Java代码示例:
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.dingtalk.api.response.OapiRobotSendResponse;
public void sendMarkdownMessage(String webhook, String title, String markdownContent) throws Exception {
DingTalkClient client = new DefaultDingTalkClient(webhook);
OapiRobotSendRequest request = new OapiRobotSendRequest();
request.setMsgtype("markdown");
OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();
markdown.setTitle(title);
markdown.setText(markdownContent);
request.setMarkdown(markdown);
OapiRobotSendResponse response = client.execute(request);
System.out.println("Response: " + response.getBody());
}
webhook
:钉钉机器人提供的Webhook地址。title
:消息标题。markdownContent
:Markdown格式的消息正文。Markdown支持范围:
频率限制:
移动端兼容性:
确保项目中包含以下依赖项以支持钉钉消息发送功能:
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>alibaba-dingtalk-service-sdk</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.68.noneautotype</version>
</dependency>
通过以上步骤,您可以成功在钉钉会话中发送并展示Markdown消息。