通知神器——java调用钉钉群自定义机器人
创建群自定义机器人
在指定钉钉群(或者随便拉两个人建个群,然后把别人T出去)的群设置里选择 群机器人 -> 自定义,如图:

然后,添加机器人,设置名字,添加成功时如下图:

其中webhook非常重要,下文详述。点击设置说明可以看相关使用文档,文档链接见本文末尾。
使用HTTP POST请求发送消息
直接向上文所述的webhook链接发送POST请求已达到自定义机器人向群内发消息的功能
按照文档中所属的参数格式直接向链接发送请求即可,我使用Postman发送请求如下:

效果如下:

发送其他格式(如:链接消息、markdown、ActionCard)的消息效果如下:





确定你需要哪种消息了吗?如果需要使用,通过这种方式来实现,组织参数还是挺麻烦的,不过我们可以使用sdk来简化操作
使用sdk调用自定义机器人
public static void main(String[] args) throws ApiException {
final String serverUrl =
"https://oapi.dingtalk.com/robot/send?access_token=*******************************************************";
DingTalkClient client = new DefaultDingTalkClient(serverUrl);
OapiRobotSendRequest request = new OapiRobotSendRequest();
At at = new At();
at.setIsAtAll("true");
request.setAt(at);
// 若上一步isAtAll没有设置true,则根据此处设置的手机号来@指定人
List<String> mobiles = new ArrayList<>();
mobiles.add("166********");
at.setAtMobiles(mobiles);
// 以下是设置各种消息格式的方法
sentText(request);
// sendLink(request);
// sendMarkdown(request);
// sendActionCard(request);
// sendFeedCard(request);
OapiRobotSendResponse response = client.execute(request);
System.out.println(response.getErrmsg());
}
text文本消息
public static void sentText(OapiRobotSendRequest request) {
Text text = new Text();
text.setContent("sdk demo");
request.setMsgtype("text");
request.setText(text);
}
link链接消息
public static void sendLink(OapiRobotSendRequest request) {
Link link = new Link();
link.setTitle("好消息!好消息!");
link.setText("本群与百度成功达成合作关系,今后大家有什么不懂的可以直接百度搜索,不用再群里提问浪费时间啦!");
link.setMessageUrl("https://www.baidu.com");
link.setPicUrl("http://www.baidu.com/img/bd_logo1.png");
request.setMsgtype("link");
request.setLink(link);
}
markdown消息
public static void sendMarkdown(OapiRobotSendRequest request) {
Markdown markdown = new Markdown();
markdown.setTitle("好消息!好消息!");
markdown.setText(
"#### 杭州天气 @156xxxx8827\n> 9度,西北风1级,空气良89,相对温度73%\n\n"
+ "> \n"
+ "> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n");
request.setMsgtype("markdown");
request.setMarkdown(markdown);
}
ActionCard消息
public static void sendActionCard(OapiRobotSendRequest request) {
Actioncard actioncard = new Actioncard();
actioncard.setTitle("乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身");
actioncard.setText(
" \n"
+ " ### 乔布斯 20 年前想打造的苹果咖啡厅 Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划");
actioncard.setHideAvatar("0");
actioncard.setBtnOrientation("1");
// actioncard.setSingleTitle("阅读全文");
// actioncard.setSingleURL("https://www.baidu.com/");
List<Btns> btns = new ArrayList<>();
Btns btn0 = new Btns();
btn0.setTitle("内容不错");
btn0.setActionURL("https://www.qq.com/");
btns.add(btn0);
Btns btn1 = new Btns();
btn1.setTitle("不感兴趣");
btn1.setActionURL("https://www.baidu.com/");
btns.add(btn1);
actioncard.setBtns(btns);
request.setMsgtype("actionCard");
request.setActionCard(actioncard);
}
FeedCard消息
类似公众号头条、次条消息
public static void sendFeedCard(OapiRobotSendRequest request) {
Feedcard feedcard = new Feedcard();
List<Links> linksList = new ArrayList<>();
Links links0 = new Links();
links0.setTitle("时代的火车向前开1");
links0.setMessageURL(
"https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI");
links0.setPicURL("https://www.dingtalk.com/");
linksList.add(links0);
Links links1 = new Links();
links1.setTitle("时代的火车向前开2");
links1.setMessageURL(
"https://www.dingtalk.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI");
links1.setPicURL("https://www.dingtalk.com/");
linksList.add(links1);
feedcard.setLinks(linksList);
request.setMsgtype("feedCard");
request.setFeedCard(feedcard);
}
参考资源
通知神器——java调用钉钉群自定义机器人的更多相关文章
- 使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_132 最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用 ...
- Java调用Redis集群
前文 需要使用以下jar包 Maven项目引用以下配置: <dependency> <groupId>org.apache.commons</groupId> &l ...
- zabbix的搭建及操作(4)实现邮件,钉钉,微信报警
实现邮件报警 网页版邮箱中开启 POP3/SMTP/IMAP 生成授权码并记录 Server端安装配置邮件服务器 1.Yum安装邮件服务器 yum -y install mailx dos2unix ...
- Spring Cloud Admin健康检查 邮件、钉钉群通知
源码地址:https://github.com/muxiaonong/Spring-Cloud/tree/master/cloudadmin Admin 简介 官方文档:What is Spring ...
- jenkis +sonarqube 对后端代码静态扫描,钉钉群通知执行结果(记录)
代码提交,触发后端sonar测试,测试完成,jenkins触发依赖任务,执行python脚本,达到预期,调用上线任务模块,进行上线,达不到预期,钉钉群通知. 牵涉到配置: 1.配置sonar测试任务 ...
- zabbix3.4调用钉钉报警通知(超详细)
一.备注: zabbix调用钉钉接口报警通知有两种情况: 1.通知到个人钉 2.通知到钉钉群 本文主要介绍zabbix调用钉钉接口通知到钉钉个人的方式 二.zabbix3.4调用钉钉接口报警通知到个 ...
- 用Python实现阿里钉钉机器人读取数据库内容自动发群通知
最近想把一些预警数据信息按照一定的要求自动发送到移动端APP,最终把目标放在了腾讯的微信和阿里的钉钉软件上,由于刚开始学习python,于是编程工具想用python来实现.微信使用群体最广,通过一天的 ...
- [钉钉通知系列]SVN提交后自动推送消息到钉钉群
钉钉设置机器人配置 1.进入配置机器人入口 2.添加机器人 3.测试WebHook请求 本人使用Postman进行测试 4.配置SVN 4.1 配置 Pre-commit hook 设置提交内容必须包 ...
- JIRA对接钉钉群机器人-实现任务的指派通知
一.前提 Jira Software.钉钉群.RESTful服务.LDAP服务 二.流程图 三.对接步骤 1.创建项目群,把相关人员拉入群 2.钉钉群的智能群助手里添加自定义机器人 3.设置机器人,安 ...
随机推荐
- 洛谷P2319 [HNOI2006]超级英雄 题解
题目链接: https://www.luogu.org/problemnew/show/P2319 分析 每错,这是一道海南不对是河南呀呀呀错了是湖南的省选题. 但是还是可以作为二分图第二题来练手的, ...
- D:苏卿念发红包
首先,题目中已经说得很明确了(按照常理也是). 当有mmm个包,你第kkk个抢.k>mk>mk>m的话.显然,平时会显示:来晚了一步,红包已经被领完了\text{来晚了一步,红包已经 ...
- java-org.springframework.core.convert.ConversionFailedException- 前端传string解析date异常
关于SpringMVC前台日期作为实体类对象参数类型转换错误解决 异常信息: Field error in object 'tblHouse' on field 'houseTime': reject ...
- Amdahl定律理解
其中,a为并行计算部分所占比例,k为并行处理的个数. 当1-a=0时,(没有串行,只有并行)最大加速比s=n: 当a=0时,(只有串行,没有并行)最小加速比s=1: 当k→∞时,s → 1 /(1-a ...
- 基于 Github 存储附件的 wordpress 插件
前言 插件名称 wp-github-gos, 本插件核心功能使用了 GitHub API 设置页面和核心业务逻辑主要参考插件 wordpress-qcloud-cos 的实现,替换了其中 腾讯云 CO ...
- 【pycharm】Pycharm对 axios语法的支持问题
问题: 解决办法: 1,找到pychar的settings 2,ECMAScript6
- F#周报2019年第31期
新闻 现在开始接受FSSF的第七次师友计划申请 Xamarin播客:XAML热重载 TorchSharp:将PyTorch引擎带入.NET 视频及幻灯片 F#中的异步编程2/3--实现异步工作流 ML ...
- 解决跨域session 同步问题
跨域来源:(前端站点和后端API布署到不同的站点) 解决方案 一.服务端设置 1.配置允许跨域请求 public class BaseAction { /** * 支持跨域请求 * @author f ...
- 把Jar包加入windows系统服务
之前在服务器上不一个Java服务时候,总是开着一堆黑框框,非常不雅,重点是极其容易误关,所以把可执行Jar文件加入Windows系统服务,看起来是个非常不错的选择!(实际上也确实是非常不错的选择) ! ...
- loadrunner中的ie浏览器无法使用
我的loadrunner是12.55版本的,windows10系统 在我们学习loadrunner的过程中,会出现下面一个问题: 在录制脚本时,loadrunner中的ie浏览器无法使用处于飘红状态. ...