使用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);
    }

觉得有用点个赞叭

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java多线程-扩展知识三:乐观锁与悲观锁

1、悲观锁 悲观锁有点像是一位比较悲观&#xff08;也可以说是未雨绸缪&#xff09;的人&#xff0c;总是会假设最坏的情况&#xff0c;避免出现问题。 悲观锁总是假设最坏的情况&#xff0c;认为共享资源每次被访问的时候就会出现问题(比如共享数据被修改)&#xff0c;所以每次…

Windows系统搭建Appium 2 和 Appium Inspector 环境

前言 自 2022 年 1 月 1 日起&#xff0c;Appium 核心团队不再维护 Appium 1.x。官方支持的平台驱动程序的所有最新版本均不兼容 Appium 1.x&#xff0c;需要 Appium 2 才能运行。 Appium 2是一个自动化移动应用程序的开源工具&#xff0c;它带来了以下重要改进&#xff1a;  …

软件测评中心▏软件集成测试和功能测试之间的区别和联系简析

软件集成测试是在软件开发周期的后期阶段进行的测试活动&#xff0c;旨在验证系统各个组件之间的接口和交互是否正常工作。而功能测试是一种验证软件系统是否按照需求规格说明书所规定的功能进行正确实现的测试。接下来&#xff0c;我们来分别探讨一下软件集成测试和功能测试有…

hadoop安装

简介 Hadoop是一个开源的分布式存储和计算框架&#xff0c;最初由Apache软件基金会开发。它的发展背景可以追溯到Google的MapReduce和Google File System&#xff08;GFS&#xff09;的论文&#xff0c;这两篇论文启发了Hadoop的设计。Hadoop的主要应用场景包括大数据存…

rabbitmq-server-3.11.10.exe

rabbitmq需要erlang环境 otp_win64_25.1.exe erlang-CSDN博客 https://www.rabbitmq.com/download.htmlhttps://www.rabbitmq.com/install-windows.htmlhttps://github.com/rabbitmq/rabbitmq-server/releases/download/v3.11.10/rabbitmq-server-3.11.10.exe C:\Users\Admi…

使用MechanicalSoup库的爬虫程序

1. 首先&#xff0c;我们需要导入MechanicalSoup库和requests库&#xff0c;这两个库都是Python中爬虫常用的库。 2. 接着&#xff0c;我们要设置一个代理服务器&#xff0c;使用proxy_host和proxy_port参数来指定。 3. 使用requests.get方法来获取网页的HTML代码。 4. 使用Bea…

添加通信作者标记、共同作者标记

1 添加通信作者的小信封 添加包&#xff0c;2个小信息长得不太一样选一个用 % \usepackage[misc]{ifsym} \usepackage{marvosym} % 通信小信封 然后在名字后面添加\Letter Ming Li\Letter\textsuperscript{\rm 1}\

WordPress 粘贴图片上传插件

找了很久&#xff0c;发现一款不错的插件&#xff0c;允许我们直接粘贴图片文件并且上传到媒体库。以前的插件上传后媒体库不会显示&#xff0c;这个要显示。 启用后编辑器会有一个图标&#xff0c;如果开启&#xff0c;那么久可以截图后直接粘贴了。 学习资料源代码&#xf…

硬核实力,闪耀羊城!第23届广州车展完美收官,大运乘用车尽显品牌魅力

11月26日&#xff0c;第23届广州国际车展在广州圆满闭幕。作为各大车展的老朋友&#xff0c;本届广交会大运乘用车携旗下潮玩纯电越野小钢炮悦虎及大7座智能豪华纯电MPV远志M1两大明星车型闪耀全场&#xff0c;再次揽收空前关注。 当下以85、90、00后为主的年轻群体看中新能源汽…

去水印软件有哪些?亲测四款好用去水印神器

去水印软件有哪些&#xff1f;随着图片的普及和应用范围不断扩大&#xff0c;我们有时需要对图片进行编辑或修改。然而&#xff0c;有些图片可能会带有水印&#xff0c;这会降低图片的美观度和应用效果。作为一名自媒体打工人&#xff0c;经过多番对比&#xff0c;整理了四款好…

计算机视觉的应用20-图像生成模型(Stable Diffusion)的原理详解与相关项目介绍

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用20-图像生成模型&#xff1a;Stable Diffusion模型的原理详解与相关项目介绍。大家知道现在各个平台发的各种漂亮的女生&#xff0c;这些漂亮的图片是怎么生成的吗&#xff0c;其实它们底层原理就是…

JoySSL证书从申请到安装

为了保护网站和用户数据的安全&#xff0c;使用SSL证书是至关重要的一步。JoySSL是一种可靠的SSL证书提供商&#xff0c;它提供了简单易用的证书申请和安装流程。本文将详细介绍如何从申请到安装JoySSL证书的步骤。 一、申请JoySSL证书 1&#xff0c;访问JoySSL官方网站&#…

1120:最值交换

题目描述 有一个长度为n的整数序列。请写一个程序&#xff0c;先把序列中的最小值与第一个数交换&#xff0c;再把最大值与最后一个数交换。输出转换好的序列。 分别编写两个函数MinIndex()和MaxIndex()来计算最小值下标和最大值下标。 int MinIndex(int a[], int n); //函数返…

医院室内导航解决方案:智慧医疗的重要组成部分

医院作为人们生活中不可或缺的一部分&#xff0c;面临着巨大的挑战。每天都有大量的患者前来就医&#xff0c;而医院内部的复杂结构和科室众多&#xff0c;常常让患者感到困惑和迷失。为了解决这个问题&#xff0c;医院室内导航解决方案应运而生&#xff0c;以其创新的技术和卓…

如何使用录屏软件在电脑录制PDF文件

我有一个PDF文件&#xff0c;想用录屏软件将它录制下来并添加上详细的注释&#xff0c;然后发给客户看&#xff0c;请问应该如何录制呢&#xff1f;有没有推荐的录屏软件呢&#xff1f; 不用担心&#xff0c;本文将会详细的为您讲解如何使用录屏软件在电脑端录制PDF文件&#…

C# 将bin文件转成hex文件

背景 由于项目应用(服务器-APP-下位机)中&#xff0c; 1&#xff09;服务器限制只能上传hex文件 2&#xff09;APP中通过应用读取的数据为bin文件 所以需要APP中将bin文件转成hex文件&#xff0c;&#xff0c;正好做个bin转hex的功能 注&#xff1a;应用读取的bin文件实际是MC…

selenium+python

selenium 八大查找元素 from selenium import webdriver from selenium.webdriver.common.by import By# 创建一个 WebDriver 实例 driver webdriver.Chrome()# 打开网页 driver.get("https://www.baidu.com/")# 使用 find_element 方法查找元素 element driver.…

vue3-在自定义hooks使用useRouter 报错问题

文章目录 前言一、报错分析报错的Vue warn截图&#xff1a;查看文档 二、那么在hook要怎么引入路由呢&#xff1f; 前言 记录在vue3项目中&#xff0c;hook使用useRouter 报错问题 一、报错分析 报错的Vue warn截图&#xff1a; 警告 inject() can only be used inside setup…

vue+less+style-resources-loader 配置全局颜色变量

全局统一样式后&#xff0c;可配置vue.config.js实现全局颜色变量&#xff0c;方便在编写时使用统一风格的色彩 一、新建global.less 二、下载安装style-resources-loader npm i style-resources-loader --save-dev三、在vue.config.js中进行配置 module.exports {pluginOpt…

手把手教你在AutoML上部署Qwen-7B-hat Transformers 部署调用

手把手带你在AutoDL上部署Qwen-7B-hat Transformers 调用 项目地址&#xff1a;https://github.com/datawhalechina/self-llm.git 如果大家有其他模型想要部署教程&#xff0c;可以来仓库提交issue哦~ 也可以自己提交PR&#xff01; 如果觉得仓库不错的话欢迎star&#xff01;&…