当前位置: 首页 > news >正文

Spring Boot集成钉钉群通知机器人

文章目录

  • 一、钉钉机器人配置
    • 1)添加机器人
    • 2)添加自定义机器人
    • 3)设置机器人参数
    • 4)添加机器人完成
  • 二、依赖导入
  • 三、工具类封装
  • 四、关键字推送消息测试类
    • 1)测试类
    • 2)程序输出结果:
    • 3)通知结果:
  • 五、加签推送消息测试类
    • 1)修改机器人配置为加签
    • 2)测试类
    • 3)程序输出结果
    • 4)通知结果

一、钉钉机器人配置

1)添加机器人

在这里插入图片描述

2)添加自定义机器人

在这里插入图片描述

3)设置机器人参数

在这里插入图片描述

4)添加机器人完成

注意:完成后,复制出链接,方便后续测试使用;

Webhook链接组成 = https:// + baseUrl + access_token;

例如:https://oapi.dingtalk.com/robot/send?access_token=82995******45d84

在这里插入图片描述

二、依赖导入

<!--dingding-sdk-->
<dependency><groupId>com.aliyun</groupId><artifactId>alibaba-dingtalk-service-sdk</artifactId><version>2.0.0</version>
</dependency>

三、工具类封装

@Slf4j
public class DingDingUtils {public static void send(String url, String msg) {try {//创建钉钉客户端DingTalkClient client = new DefaultDingTalkClient(url);//构建自定义机器人请求OapiRobotSendRequest request = new OapiRobotSendRequest();//设置固定为文字版信息类型request.setMsgtype("text");//构建自定义机器人文字类型请求OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();//调用封装文本信息。text.setContent(msg);request.setText(text);//构建自定义机器人@人范围请求OapiRobotSendRequest.At at = new OapiRobotSendRequest.At();//明确为 true。通知时@所有人at.setIsAtAll(true);request.setAt(at);OapiRobotSendResponse response = client.execute(request);log.info("发送完成,返回值:{}", response.getBody());} catch (ApiException e) {log.error("钉钉接口调用异常:", e);}}}

四、关键字推送消息测试类

1)测试类

@Test
void sendTextTest() {// 钉钉群机器人id号String url = "https://oapi.dingtalk.com/robot/send?access_token=8299504a4255a****************ae4aae697441995f45d84";// hello,为关键字String msg = "hello, 大家好";DingDingUtils.send(url, msg);
}

2)程序输出结果:

在这里插入图片描述

3)通知结果:

在这里插入图片描述

五、加签推送消息测试类

1)修改机器人配置为加签

在这里插入图片描述

2)测试类

@Test
void sendTextTest2() throws Exception {Long timestamp = System.currentTimeMillis();String secret = "SECb2f83dd75fdc0b2***********c50f33ebd36102327e44a8";String stringToSign = timestamp + "\n" + secret;Mac mac = Mac.getInstance("HmacSHA256");mac.init(new SecretKeySpec(secret.getBytes("UTF-8"), "HmacSHA256"));byte[] signData = mac.doFinal(stringToSign.getBytes("UTF-8"));String sign = URLEncoder.encode(new String(Base64.encodeBase64(signData)),"UTF-8");System.out.println(sign);// 钉钉群机器人id号String baseUrl = "https://oapi.dingtalk.com/robot/send?access_token=8299504a4255a****************ae4aae697441995f45d84";String msg = "这是一条加签测试的消息!";String fullUrl = String.format(baseUrl + "&timestamp=%s&sign=%s", timestamp, sign);DingDingUtils.send(fullUrl, msg);
}

3)程序输出结果

在这里插入图片描述

4)通知结果

在这里插入图片描述

相关文章:

Spring Boot集成钉钉群通知机器人

文章目录 一、钉钉机器人配置1&#xff09;添加机器人2&#xff09;添加自定义机器人3&#xff09;设置机器人参数4&#xff09;添加机器人完成 二、依赖导入三、工具类封装四、关键字推送消息测试类1&#xff09;测试类2&#xff09;程序输出结果&#xff1a;3&#xff09;通知…...

SpringAOP 面向切面编程

** Spring有两大核心特性&#xff1a;IOC(控制反转) 和 AOP(面向切面编程)&#xff0c;但是 相比IOC在日常工作中的广泛应用&#xff0c;AOP却常常做了冷板凳&#xff0c;下面我从工作中的场景为大家打开AOP面向切面编程的大门。** 什么是AOP? 在软件业&#xff0c;AOP为Asp…...

灵办AI助手Chrome插件全面评测:PC Web端的智能办公利器

探索灵办AI助手在Mac OS上的高效表现&#xff0c;支持多款主流浏览器&#xff0c;助你轻松应对办公挑战 文章目录 探索灵办AI助手在Mac OS上的高效表现&#xff0c;支持多款主流浏览器&#xff0c;助你轻松应对办公挑战摘要引言开发环境介绍核心功能评测1. 网页翻译与双语对照 …...

Rancher 使用 Minio 备份 Longhorn 数据卷

0. 概述 Longhorn 支持备份到 NFS 或者 S3, 而 MinIO 就是符合 S3 的对象存储服务。通过 docker 部署 minio 服务&#xff0c;然后在 Longhorn UI 中配置备份服务即可。 1. MinIO 部署 1.1 创建备份目录 mkdir -p /home/longhorn-backup/minio/data mkdir -p /home/longhor…...

useRequest

用法 默认用法 第一参数是异步函数&#xff08;接口&#xff09;&#xff0c;在组件初次加载时&#xff0c;会自动触发该函数执行。 const { data, error, loading } useRequest(getUsername);第二个参数&#xff0c;是一个配置选项&#xff08;一个对象&#xff09; 详解…...

python动画:manim实现多面体的创建

一&#xff0c;介绍 内容 多面体&#xff08;discusses polyhedra&#xff09;&#xff0c;主要集中在一种称为多面体的几何形状类别&#xff0c;并突出介绍了五种柏拉图体&#xff08;Platonic solids&#xff09;&#xff0c;这些是具有特殊性质的多面体类型。 多面体 定义…...

数值计算引擎:搭建远程容器开发环境

Build VS Code Remote Docker Development Environment 大型CAE软件开发技术栈通常依赖多个第三方库&#xff0c;因此从零开始配置开发、编译、运行等环境通常较为繁琐。但随着公司的发展壮大&#xff0c;却经常需要为新加入的成员配备相应的开发环境&#xff1b;另外&#xf…...

二叉搜索树(Binary Search Tree)

1.二叉搜索树概念 二叉搜索树又称二叉排序树、二叉查找树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: 1. 非空左子树的所有键值小于其根节点的键值 2. 非空右子树的所有键值大于其根节点的键值 3. 左右子树也分别为二叉搜索树 二叉搜索树一般不支持…...

Yii2框架的初始化及执行流程

当 Yii2 框架执行 index.php 入口脚本后&#xff0c;内部执行逻辑和顺序可以概括如下&#xff1a; 1、加载相关配置文件和关键组件&#xff1a; 加载 Composer 自动加载器&#xff1a; require DIR . ‘/…/vendor/autoload.php’; 加载 Yii 框架文件&#xff1a; require D…...

2024.1-2024.2pycharm无法打开terminal命令行

2024版的idea或pycharm打开terminal时会发生如下问题&#xff1a; Cannot open Windows PowerShell Failed to start [C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,或 Cannot open Command Prompt Failed to start [C:\Windows\system32\cmd.exe] 需要点击标…...

50ETF期权移仓是什么?50ETF期权移仓要注意什么?

今天带你了解50ETF期权移仓是什么&#xff1f;50ETF期权移仓要注意什么&#xff1f;当前火热的期权交易市场&#xff0c;“移仓”同样是一门非常重要的技术。上证50ETF期权投资的过程中&#xff0c;我们可以进行一定的移仓操作的&#xff0c;如果移仓操作得好&#xff0c;可以很…...

软件工程概述(上)

1、软件的概念、特点和分类 要了解软件工程&#xff0c;首先让我们重新认识一下软件。如今可以说是一个软件定义一切的时代&#xff0c;虽然人工智能发展的如火如荼&#xff0c;但究其本质&#xff0c;核心还是软件。那么&#xff0c;如何给软件下一个定义呢&#xff1f;软件又…...

阿里云ubuntu系统安装mysql8.0

一、安装mysql8.0 1.已安装其他版本的mysql&#xff0c;需要删除 若没有不需要此操作 1 #卸载MySQL5.7版本 2 apt remove -y mysql-client5.7* mysql-community-server5.7* 4 # 卸载5.7的仓库信息 5 dpkg-l | grep mysql | awk iprint $2} | xargs dpkg -P2.更新仓库 apt u…...

自己搭建远程桌面服务器-RustDesk 极简版

linux搭建RustDesk保姆间教程_rustdesk linux-CSDN博客https://blog.csdn.net/yzs2022/article/details/135136491 背景 在某公司工作&#xff0c;向日葵等远程办公软件均已屏蔽&#xff0c;无法使用&#xff08;也没有明文规定不允许使用远程控制软件&#xff09;&#xff0c…...

数字资产是什么?怎么产生?怎么增长?

数字资产是什么&#xff1f; 数字资产是指企业或个人拥有或控制的&#xff0c;以电子数据形式存在的&#xff0c;在日常活动中持有以备出售或处于生产过程中的非货币性资产。它涵盖了广泛的范围&#xff0c;包括但不限于数字货币、数字证券、数字艺术品、虚拟土地等。这些资产…...

Centos7升级gitlab(17)

在 CentOS 7 中将 GitLab 从版本 17.1.1 升级到 17.2.2&#xff0c;涉及以下步骤。请务必在升级前备份数据&#xff0c;以防止升级过程中出现问题导致数据丢失。 升级步骤 1. 备份 GitLab 数据 在升级之前&#xff0c;确保已经备份了 GitLab 的数据&#xff0c;包括数据库、…...

Zookeeper详解以及常见的高可用关联组件

一、ZooKeeper 详解 Apache ZooKeeper 是一个开源的分布式协调服务&#xff0c;用于分布式应用程序之间的协调和管理。ZooKeeper 提供了一个高效、可靠的服务来帮助管理分布式系统中的共享配置信息、命名、同步和组服务等。 二、主要特性 1. 高可用性 ZooKeeper 集群通过选…...

Docker Containerd初体验

Docker Containerd概述 ​ Containerd是一个开源的容器运行时&#xff0c;它提供了一种标准化的方式来管理容器的生命周期。该项目最初是由Docker开发团队创建的&#xff0c;并在后来成为了一个独立的项目&#xff0c;被纳入了Cloud Native Computing Foundation&#xff08;C…...

开始使用 AWS SAM CLI

了解如何使用 AWS SAM CLI 在本地调试 lambda 函数 欢迎来到雲闪世界。我们将学习 AWS SAM CLI 的概念。SAM 是无服务器 应用程序 模型的缩写&#xff0c;是 Amazon Web Services 提供的一个框架&#xff0c;可以利用它在本地机器上构建应用程序并将其直接部署到 AWS Lambdas。…...

RK3588 RTL8125BG调试

RTL8125B是一款PCIE转RJ45的网卡控制器芯片&#xff0c;在底层调试时只需配置PCIE即可 diff --git a/arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-nvr-demo.dtsi index 798359eaf061..d8a7a43cdfa0 100755 --- a/arch/arm64/bo…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

selenium学习实战【Python爬虫】

selenium学习实战【Python爬虫】 文章目录 selenium学习实战【Python爬虫】一、声明二、学习目标三、安装依赖3.1 安装selenium库3.2 安装浏览器驱动3.2.1 查看Edge版本3.2.2 驱动安装 四、代码讲解4.1 配置浏览器4.2 加载更多4.3 寻找内容4.4 完整代码 五、报告文件爬取5.1 提…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

Java求职者面试指南:计算机基础与源码原理深度解析

Java求职者面试指南&#xff1a;计算机基础与源码原理深度解析 第一轮提问&#xff1a;基础概念问题 1. 请解释什么是进程和线程的区别&#xff1f; 面试官&#xff1a;进程是程序的一次执行过程&#xff0c;是系统进行资源分配和调度的基本单位&#xff1b;而线程是进程中的…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

C#学习第29天:表达式树(Expression Trees)

目录 什么是表达式树&#xff1f; 核心概念 1.表达式树的构建 2. 表达式树与Lambda表达式 3.解析和访问表达式树 4.动态条件查询 表达式树的优势 1.动态构建查询 2.LINQ 提供程序支持&#xff1a; 3.性能优化 4.元数据处理 5.代码转换和重写 适用场景 代码复杂性…...

R 语言科研绘图第 55 期 --- 网络图-聚类

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...