使用Java给钉钉群发消息

目录

目录

1.安装依赖

2.编写工具类

3.测试

安全设置

Webhook

代码编写

运行测试

4.艾特全部功能



1.安装依赖

 <dependency><groupId>com.taobao.dingding</groupId><artifactId>taobao-sdk</artifactId><version>1.0.0</version>
</dependency>

2.编写工具类

DingDingUtils


@Slf4j
public class DingDingUtils {private static String ROBOT_SEND_MESSAGE_URL = "https://oapi.dingtalk.com/robot/send?access_token=";/*** 发送钉钉群消息* @param content*/public static void sendDingDingGroupMsg(String accessToken, String content) {String textMsg = "{ \"msgtype\": \"text\", \"text\": {\"content\": \"" + content + "\"}}";dealDingDingMsgSend(accessToken, textMsg);}/*** 处理发送的钉钉消息** @param textMsg*/private static void dealDingDingMsgSend(String accessToken, String textMsg) {HttpClient httpclient = HttpClients.createDefault();String robotSendMessageUrl = ROBOT_SEND_MESSAGE_URL + accessToken;HttpPost httppost = new HttpPost(robotSendMessageUrl);httppost.addHeader("Content-Type", "application/json; charset=utf-8");StringEntity se = new StringEntity(textMsg, "utf-8");httppost.setEntity(se);try {HttpResponse response = httpclient.execute(httppost);if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {String result = EntityUtils.toString(response.getEntity(), "utf-8");log.info("Send DingDing Message Success! Response Content: " + JSON.toJSONString(result));}} catch (Exception e) {log.error("Send DingDing Message Error! Error Message:" + e.getMessage(), e);}}}

3.测试

首先在钉钉新建一个群,并且添加机器人

安全设置

我设置了关键字,消息里面有这个hello关键字才能成功发送消息

Webhook

记录自己的Webhook,是进行发消息的途径

代码编写

public static void main(String[] args) {String str =  "hello,钉钉";String token  = "这里填写你自己的钉钉token";DingDingUtils.sendDingDingGroupMsg(token,str);
}

运行测试


4.艾特全部功能

钉钉提供了艾特全部功能

{"at": {"atMobiles":["180xxxxxx"],"atUserIds":["user123"],"isAtAll": false},"text": {"content":"我就是我, @XXX 是不一样的烟火"},"msgtype":"text"
}

修改sendDingDingGroupMsg方法,第三个参数表示是否艾特全部

/*** 发送钉钉群消息* @param content*/public static void sendDingDingGroupMsg(String accessToken, String content,Boolean atAll) {String textMsg = "{ \"msgtype\": \"text\", \"text\": {\"content\": \"" + content + "\"},\"at\": {\"isAtAll\": \"" + atAll + "\"}}";dealDingDingMsgSend(accessToken, textMsg);}

觉得有用点个赞叭

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/178819.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中枚举类的创建及其应用场景

枚举类 枚举是一种特殊的类(编译之后也是生成class文件)可以实现接口,属于引用数据类型,枚举类是一组常量(枚举对象)的集合可以将枚举对象当作常量使用 自定义枚举类 自定义一个类实现枚举的效果 构造器私有化: 因为枚举对象的个数是固定的,所以需要防止直接new对象 创建一…

Zabbix监控Oracle表空间

警告 Oracle {#TABLESPACE}: 表空间数据文件已分配超过 {$ORACLE.TBS.UTIL.PCT.MAX.HIGH}% &#xff0c;且表空间已使用超过{$ORACLE.TBS.USED.PCT.MAX.WARN}% 警告 min(/Oracle by ODBC-2/oracle.tbs_used_file_pct["{#TABLESPACE}"],5m)>{$ORACLE.TBS.USED.PC…

E云管家开发个人微信号批量修改好友备注

简要描述&#xff1a; 修改好友备注 请求URL&#xff1a; http://域名地址/modifyRemark 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说…

内部类——静态/非静态对外部类的访问

非静态内部类 可以访问外部类的非静态属性/静态属性&#xff0c;包括私有属性 静态内部类 1.只可以访问外部类的静态属性&#xff0c;包括静态私有属性 2.不可以可以访问外部类的非静态属性&#xff0c;包括私有属性

扫地机器人市场持续火爆,景联文科技数据采集标注方案助力扫地机器人智能化升级

随着消费者对智能家居和清洁卫生的需求增加&#xff0c;扫地机器人市场规模不断扩大。市场竞争也日益激烈&#xff0c;各品牌都在努力提升产品性能和服务质量&#xff0c;以获取更大的市场份额。 IDC的统计数据显示&#xff0c;今年双十一前两周&#xff08;2023年10月23日至20…

Python入门05 print函数

目录 1 Python中的内置函数2 print函数介绍3 print函数的用途总结 1 Python中的内置函数 Python中内置了很多函数&#xff0c;我们可以直接调用&#xff0c;以下是一些常见的函数&#xff1a; abs()&#xff1a;返回一个数的绝对值。all()&#xff1a;判断一个可迭代对象中的…

Jmeter和Testlink自动化测试框架研究与实施

摘 要 目前基于Jmeter的接口自动化测试框架&#xff0c;大多只实现脚本维护和自动调度&#xff0c;无法与Testlink进行互通&#xff0c;实现测试方案与自动化实施流程连接&#xff0c;本文基于Testlink、Jmeter、Jenkins实现&#xff1a;通过Testlink统一维护接口自动化测试用…

基于python的IOS自动化测试小技巧

文章目录 一、Xpath 的使用1.1 使用Xpath读取固定位置的元素的内容一、Xpath 的使用 在执行IOS APP UI自动化测试时,需要使用到元素定位,我们使用WEditor进行元素的定位,操作流程可以查看基于Python的IOS自动化测试环境搭建 ,但是在一些特殊的场景需要灵活使用元素定位。 …

大数据平台/大数据技术与原理-实验报告--部署全分布模式HBase集群和实战HBase

实验名称 部署全分布模式HBase集群和实战HBase 实验性质 &#xff08;必修、选修&#xff09; 必修 实验类型&#xff08;验证、设计、创新、综合&#xff09; 综合 实验课时 2 实验日期 2023.11.07-2023.11.10 实验仪器设备以及实验软硬件要求 专业实验室&#xff…

diffusion model (九) EmuEdit技术小结

文章目录 背景1 核心思想2 方法2.1 方法建模2.2 数据工程2.2.1 image-edit任务类别定义2.2.2 指令集生成2.2.3 图片对的生成 3 结果 Paper: https://emu-edit.metademolab.com/assets/emu_edit.pdf Project web: https://emu-edit.metademolab.com/ Code: have not opensourc…

vue3 setup语法糖 搜索

前言 Vue.js 是一款流行的 JavaScript 框架&#xff0c;用于构建用户界面。它提供了一种简洁的方式来创建可维护和可测试的前端应用程序。Vue.js 的核心库只关注视图层&#xff0c;易于上手&#xff0c;同时与其他库或现有项目整合也非常方便。Vue 也完全能够为复杂的单页应用…

DBT踩坑第二弹

总结下dbt-spark踩到的坑&#xff0c;连接方式采用的是thrift连接 Kerberos认证。考虑到开源组件Kyuubi也是基于Hiveserver2&#xff0c;使用的thrift协议&#xff0c;所以采用Kyuubi执行SparkSQL。 官方文档给出的Thrift方式连接示例真的是简单&#xff0c;但是真是用起来真是…

Selenium+Python做web端自动化测试框架与实例详解教程

最近受到万点暴击&#xff0c;由于公司业务出现问题&#xff0c;工作任务没那么繁重&#xff0c;有时间摸索seleniumpython自动化测试&#xff0c;结合网上查到的资料自己编写出适合web自动化测试的框架&#xff0c;由于本人也是刚刚开始学习python&#xff0c;这套自动化框架目…

基于HTML+CSS+JavaScript的登录注册界面设计

一、界面效果: 二、HTML代码: 登录注册html: 登录成功html: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> </head> <body> <h1>登录成功!</h1> </body> <…

类指针压缩空间

一、类指针压缩介绍 压缩指针&#xff0c;指的是在 64 位的机器上&#xff0c;使用 32 位的指针来访问数据&#xff08;堆中的对象或 Metaspace 中的元数据&#xff09;的一种方式。 对象头中的 Class Pointer 默认占 8 个字节&#xff0c;开启 -XX:UseCompressedOops 后&…

跳表的学习记录

跳表&#xff08;Skip List&#xff09;是一种数据结构&#xff0c;它通过在多个层次上添加额外的前向指针来提高有序数据的搜索效率。跳表与其他常见的有序数据结构&#xff08;如二叉搜索树、平衡树如AVL树和红黑树、B树等&#xff09;相比&#xff0c;具有其独特的优缺点&am…

vue3中如何使用TypeScript?

在Vue 3中引入和使用TypeScript非常简单。下面是在Vue 3中引入和使用TypeScript的步骤&#xff1a; 创建Vue 3项目&#xff1a;首先&#xff0c;使用Vue CLI创建一个新的Vue 3项目。可以使用以下命令&#xff1a; vue create my-project在创建项目时&#xff0c;选择TypeScri…

国标GB28181安防监控平台EasyCVR周界入侵AI算法检测方案

在城市管理和公共安全领域&#xff0c;安全视频监控的重要性日益凸显。AI视频智能分析平台基于深度学习和计算机视觉技术&#xff0c;利用AI入侵算法&#xff0c;能够实时、精准地监测周界入侵行为。 TSINGSEE青犀在视频监控及AI视频智能分析领域拥有深厚的技术积累和丰富的实…

全面介绍SSO(单点登录)

全面介绍SSO&#xff08;单点登录&#xff09; SSO英文全称Single SignOn&#xff0c;单点登录。SSO是在多个应用系统中&#xff0c;用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比…

亮相史上规模最大高交会,Coremail展现邮件技术创新实力

11月19日&#xff0c;第二十五届中国国际高新技术成果交易会在深圳落下帷幕&#xff0c;作为国内邮件行业引领者&#xff0c;Coremail受邀参展。 展览现场&#xff0c;Coremail邮件解决方案及系列产品受到了众多参观者与业内人士的关注与好评。Coremail XT6邮件系统技术成熟&a…