创建群自定义机器人

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

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

其中webhook非常重要,下文详述。点击设置说明可以看相关使用文档,文档链接见本文末尾。

使用HTTP POST请求发送消息

直接向上文所述的webhook链接发送POST请求已达到自定义机器人向群内发消息的功能

按照文档中所属的参数格式直接向链接发送请求即可,我使用Postman发送请求如下:

效果如下:

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









确定你需要哪种消息了吗?如果需要使用,通过这种方式来实现,组织参数还是挺麻烦的,不过我们可以使用sdk来简化操作

使用sdk调用自定义机器人

钉钉服务端API 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"
+ "> ![screenshot](https://img2018.cnblogs.com/blog/1775867/201908/1775867-20190823214506246-1471056011.png)\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(
"![screenshot](@lADOpwk3K80C0M0FoA) \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);
}

参考资源

钉钉自定义机器人

钉钉开放平台附录

钉钉服务端API SDK下载

通知神器——java调用钉钉群自定义机器人的更多相关文章

  1. 使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_132 最近疫情比较严重,很多公司依靠阿里旗下的办公软件钉钉来进行远程办公,当然了,钉钉这个产品真的是让人一言难尽,要多难用有多难用 ...

  2. Java调用Redis集群

    前文 需要使用以下jar包 Maven项目引用以下配置: <dependency> <groupId>org.apache.commons</groupId> &l ...

  3. zabbix的搭建及操作(4)实现邮件,钉钉,微信报警

    实现邮件报警 网页版邮箱中开启 POP3/SMTP/IMAP 生成授权码并记录 Server端安装配置邮件服务器 1.Yum安装邮件服务器 yum -y install mailx dos2unix ...

  4. Spring Cloud Admin健康检查 邮件、钉钉群通知

    源码地址:https://github.com/muxiaonong/Spring-Cloud/tree/master/cloudadmin Admin 简介 官方文档:What is Spring ...

  5. jenkis +sonarqube 对后端代码静态扫描,钉钉群通知执行结果(记录)

    代码提交,触发后端sonar测试,测试完成,jenkins触发依赖任务,执行python脚本,达到预期,调用上线任务模块,进行上线,达不到预期,钉钉群通知. 牵涉到配置: 1.配置sonar测试任务 ...

  6. zabbix3.4调用钉钉报警通知(超详细)

     一.备注: zabbix调用钉钉接口报警通知有两种情况: 1.通知到个人钉 2.通知到钉钉群 本文主要介绍zabbix调用钉钉接口通知到钉钉个人的方式 二.zabbix3.4调用钉钉接口报警通知到个 ...

  7. 用Python实现阿里钉钉机器人读取数据库内容自动发群通知

    最近想把一些预警数据信息按照一定的要求自动发送到移动端APP,最终把目标放在了腾讯的微信和阿里的钉钉软件上,由于刚开始学习python,于是编程工具想用python来实现.微信使用群体最广,通过一天的 ...

  8. [钉钉通知系列]SVN提交后自动推送消息到钉钉群

    钉钉设置机器人配置 1.进入配置机器人入口 2.添加机器人 3.测试WebHook请求 本人使用Postman进行测试 4.配置SVN 4.1 配置 Pre-commit hook 设置提交内容必须包 ...

  9. JIRA对接钉钉群机器人-实现任务的指派通知

    一.前提 Jira Software.钉钉群.RESTful服务.LDAP服务 二.流程图 三.对接步骤 1.创建项目群,把相关人员拉入群 2.钉钉群的智能群助手里添加自定义机器人 3.设置机器人,安 ...

随机推荐

  1. apache CXF Service 简单使用

    cxf介绍 框架官网:cxf.apache.org 支持多种协议: SOAP1.1,1.2 XML/HTTP CORBA(Common Object Request Broker Architectu ...

  2. c语言进阶9-值传递与地址传递

    一.  函数的值传递 函数的值传递是指参数为基本类型时,如整型.浮点型.字符型(特指单字符型)时,参数传递时是从实参拷贝一份值传给形参,形参的变化不会影响实参的值. 1.        基本类型做参数 ...

  3. C#3.0新增功能10 表达式树 04 执行表达式

    连载目录    [已更新最新开发文章,点击查看详细] 表达式树 是表示一些代码的数据结构. 它不是已编译且可执行的代码. 如果想要执行由表达式树表示的 .NET 代码,则必须将其转换为可执行的 IL ...

  4. 使用Kubeadm创建k8s集群之部署规划(三十)

    前言 上一篇我们讲述了使用Kubectl管理k8s集群,那么接下来,我们将使用kubeadm来启动k8s集群. 部署k8s集群存在一定的挑战,尤其是部署高可用的k8s集群更是颇为复杂(后续会讲).因此 ...

  5. 安装解压版MySQL5.76及以上版本 出现服务正在启动-服务无法启动的问题

     最近重装了系统,去MySQL官网下载了最新的MySQL5.7.9,我选择的是解压版,安装之后启动服务的时候,提示服务无法启动,在网上找了很多教程,弄了很久都没有弄好,后来还是决定去英文官网找找答案, ...

  6. Atlassian In Action-Jira之推荐插件(四)

    前面的几章基本已经完整构建了Jira的管理平台,并且有了一套比较完成的制度和方法.但是优化是永无止境的,我们作为研发管理人员,需要让系统使用起来更加高效和便捷.为了达到这个目的一般有两种途径,插件和开 ...

  7. 如何更换织梦cms系统的网站小图标

    织梦cms建站现在已经是很普遍的建站方式了,下面小编就分享一个简单的换网站小图标的方法! 一.登录自己网站的后台管理系统.在不修改织梦后台的情况下,默认的url是自己的网站后台dede目录下访问. 二 ...

  8. jsp定义全局变量:读取properties文件

    <%java.util.Properties prop = new java.util.Properties();java.io.InputStream in;in = getClass().g ...

  9. git push 出现non-fast-forward的错误

    1.git push origin liu_0909:daily_liu_0909 出现non-fast-forward的错误,证明您的本地库跟远程库的提交记录不一致,即 你的本地库版本需要更新2.g ...

  10. Flink 灵魂两百问,这谁顶得住?

    Flink 学习 https://github.com/zhisheng17/flink-learning 麻烦路过的各位亲给这个项目点个 star,太不易了,写了这么多,算是对我坚持下来的一种鼓励吧 ...