通过钉钉机器人发送群消息通知
添加群机器人
可以查看这篇文章:添加机器人到钉钉群
使用命令行工具curl快速验证自定义机器人是否可以正常工作。可以使用如下命令,把对应的链接调整成对应群的webhook地址即可。
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{"msgtype": "text","text": {"content":"嗨,我来啦"}}'
Java请求示例
设置如下方法进行消息通知
/*** 通知消息发送到群聊* @param webhook 钉钉机器人地址(配置机器人的webhook)* @param isAtAll 是否通知所有人* @param mobileList 通知具体人的手机号码列表* @param content 消息内容*/public static void sendMsgToGroupChat(String webhook,boolean isAtAll,List<String> mobileList,String content){try {//组装请求内容String reqStr = buildReqStr(content, isAtAll, mobileList);//推送消息(http请求)String result = HttpUtil.post(webhook, reqStr);log.info("通知响应结果:{}",result);}catch (Exception e){log.error("webhook通知失败",e);}}/*** 组装请求报文(Map封装)* @param content 通知内容* @param isAtAll 是否@所有人* @param mobileList 通知具体人的手机号码* @return*/private static String buildReqStr(String content, boolean isAtAll, List mobileList) {//消息内容Map contentMap = Maps.newHashMap();contentMap.put("content", content);//通知人Map atMap = Maps.newHashMap();//1.是否通知所有人atMap.put("isAtAll", isAtAll);//2.通知具体人的手机号码列表atMap.put("atMobiles", mobileList);Map reqMap = Maps.newHashMap();reqMap.put("msgtype", "text");reqMap.put("text", contentMap);reqMap.put("at", atMap);return JSON.toJSONString(reqMap);}/*** 获取通知消息* @return*/private static String getContent() {//钉钉机器人消息内容String content;//通过转码网站http://tool.chinaz.com/Tools/unicode.aspx// 选择中文转Unicode把钉钉表情转换成unicode编码,也可以直接用表情对应的中文设置String milkyTea = "过来请我喝奶茶[奶茶][流鼻血][流鼻血]\u005b\u6d41\u9f3b\u8840\u005d";String NEWLINE = "\n";StringBuffer sb = new StringBuffer();sb.append("小哥哥,你好!").append(NEWLINE).append(milkyTea);content = sb.toString();return content;}
通过main函数执行调用
public static void main(String[] args) throws ApiException {//把webhook设置成对应群的即可String webhook = "https://oapi.dingtalk.com/robot/send?access_token=xxx";String content = getContent();ArrayList<String> mobileList = Lists.newArrayList();sendMsgToGroupChat(webhook,false,mobileList,content);}
可以看到如下通知效果:
添加通知人后效果如下:
官方SDK请求示例
如果只是为了发起一个简单的消息通知上述动态配置后足够使用,要使用更多消息类型推荐使用官方SDK进行消息发送,毕竟官方进行了一层封装,使用起来会更方便些。
pom引入官方SDK
<dependency><groupId>com.aliyun</groupId><artifactId>alibaba-dingtalk-service-sdk</artifactId><version>2.0.0</version></dependency>
群消息通知方法
可以通过如下案例实现对应消息的通知。自定义机器人支持文本 (text)、链接 (link)、markdown(markdown)、ActionCard、FeedCard消息类型。
/*** 通知SDK消息发送到群聊* @param webhook 钉钉机器人地址(配置机器人的webhook)**/public static void sendMsgToGroupChatSDK(String webhook) throws ApiException {DingTalkClient client = new DefaultDingTalkClient(webhook);OapiRobotSendRequest request = new OapiRobotSendRequest();//普通文本消息request.setMsgtype("text");OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();text.setContent("你好,测试文本消息");request.setText(text);OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();at.setAtMobiles(Arrays.asList("176xxx"));// isAtAll类型如果不为Boolean,请升级至最新SDKat.setIsAtAll(true);at.setAtUserIds(Arrays.asList("109929","32099"));request.setAt(at);//md格式消息request.setMsgtype("markdown");OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();markdown.setTitle("杭州天气");markdown.setText("#### 杭州天气 @156xxxx8827\n" +"> 9度,西北风1级,空气良89,相对温度73%\n\n" +"> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n" +"> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n");request.setMarkdown(markdown);//链接request.setMsgtype("link");OapiRobotSendRequest.Link link = new OapiRobotSendRequest.Link();link.setMessageUrl("https://blog.csdn.net/qq_35427589");link.setPicUrl("");link.setTitle("时代的火车向前开");link.setText("这个即将发布的新版本,创始人xx称它为红树林。而在此之前,每当面临重大升级,产品经理们都会取一个应景的代号,这一次,为什么是红树林");request.setLink(link);OapiRobotSendResponse response = client.execute(request);log.info("执行结果回执{}",JSON.toJSONString(response));}
呜啦啦啦啦 看官喜欢的话点赞收藏或者关注一下吧
通过钉钉机器人发送群消息通知相关推荐
- spring boot 整合钉钉机器人发送消息通知
钉钉消息通知 主要用于系统预警.资源预警.重要消息通知,随时随地可以掌握重要信息 一.通知效果 1.文本通知 2.带链接的通知 3.makrdown格式 通知 4.ActionCard 通知 5.Fe ...
- 钉钉自定义机器人python_使用钉钉自定义机器人发送舔狗日记[70行][python]
[Python] 纯文本查看 复制代码# -*- coding: utf-8 -*- import requests import json import time #下面是解密用到的模块 impor ...
- C# 调用钉钉接口进行发送企业通知消息,适应于网页版
前期资料如怎么配置,怎么创建应用 参考:http://blog.csdn.net/xxdddail/article/category/6776456 感谢原作者 Oa效果图如下: 引用: TopSDK ...
- C# 钉钉群机器人发送消息代码实现
本文属于个人原创作品.个人总结,谢绝转载.抄袭.如果您有疑问或者希望沟通交流,可以联系QQ:865562060. 一.开始接入 1.开始接入钉钉之前,首先需要了解企业接入钉钉的概述:https://o ...
- python脚本自动发送邮件和叮叮机器人发送群消息
一.发送邮件 写脚本前需配置邮件获取授权码,如下图,开启POP3/SMTP服务 import yamail import requests import time import hmac import ...
- 钉钉群机器人发送图片不显示问题
图片格式: 必须是网络路径 必须是jpg格式
- Sonic自动化测试结果通知:钉钉群机器人
自动化测试用例运行完毕后,可通过钉钉群机器人自动发送结果通知,具体设置方法如下. 登录钉钉,打开需要发送机器人的群聊,点击右上方[群设置]. 点击[智能群助手] 点击[添加机器人] 选择[自定义]机器 ...
- python timestamp转string_Python操作钉钉机器人发送各种消息
环境:python3.x 使用模块:requests,json 一:创建钉钉群聊机器人 第一步,创建一个钉钉群聊自定义机器人 记住加签的密钥,忘记后也可在创建成功后查看(这里使用加签的方式) 完成后会 ...
- 【钉钉】通过钉钉机器人抓取群消息
一.进入钉钉开放平台中的开发者后台 二.进入应用开发的企业内部开发 三.选择机器人创建应用 四.进入开发管理点击修改 五.配置公网的服务器出口IP以及消息接收地址 六.消息接收代码部分 p ...
最新文章
- android 动画x轴旋转,Android Roate3dAnimation实现围绕y轴竖直方向或者绕x轴方向旋转的3d动画效果...
- Unity Log重新定向
- jQuery / JavaScript:访问iframe的内容
- jsonp 跨域原理详解
- 电脑大小写怎么切换_苹果怎么切换电脑便签?可以自由切换的电脑便签手机日历怎么备注特殊日子?苹果手机日历特殊日子提醒便签...
- Git 和 Github 秘籍
- Docker映像存储在哪里? Docker容器路径介绍
- php yii应用运维,Windows运维之Windows下用cmd命令实例讲解yii2.0在php命令行中运行的步骤...
- json文件下载--防止chrome直接打开方案
- CS 61A Environment Diagrams 学习笔记
- java poi 合并单元格 边框显示不全
- Xiao Shenyang's classic lines
- 全拼到缩写月份单词python_月份的英文缩写及全名
- A Knee_Guided Evolutionary Algorithm for Compressing Deep Neural Network (KGEA)解读
- (二)Chrome新标签页的设置
- 使用gmediarender-resurrect搭建DLNA音箱
- push ebp到底是什么意思
- 怎么选聚氨酯减震弹簧万向轮
- Java线程池设置多少线程合适
- 数据库连接池之自定义连接池(mysql)
热门文章
- Linux下删除一个文件夹命令
- java launcher在哪_JAVA Launcher简析
- 32位与64位机器下各数据类型长度对比
- 小甲鱼零基础学python笔记 P24 递归:这帮小兔崽子
- js重力球效果代码实例
- 在虚拟机上搭建云平台环境(7)云平台组件服务安装
- RobotStudio ABB 仿真软件过期 后的处理
- java private修饰方法,private修饰的方法
- 维基解密创始人被捕,从“天才黑客”到“阶下之囚”
- android电商练手项目,非常棒的练手开源电商项目