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

Java项目如何外发告警日志到企业微信

前言

最近领导交代了一个需求,就是有些许客户不单单满足平台告警日志外发到邮箱、短信的形式,还要以消息聊天的形式外发给企业微信

具体操作

1、注册企业微信。

2、登录企业微信,找到应用管理,创建应用。

在这里插入图片描述

3、创建完之后需要记录以下图片中两个值的信息。

在这里插入图片描述

4、然后记录下本企业内任意帐号的名称。

5、再记录下本企业的id。

在这里插入图片描述

6、写一个接口,先获取token再发送消息。

@RestController
@RequestMapping("/weChat")
public class WeChatController {private static final String CORP_ID = "xxx"; //企业idprivate static final String CORP_SECRET = "xxx"; //企业的Secretprivate static final String TO_USER = "xxx"; //账户名称private static final String AGENT_ID = "xxx"; //企业的AgentIdprivate static final String ACCESS_TOKEN_URL = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + CORP_ID + "&corpsecret=" + CORP_SECRET;private static final String SEND_MESSAGE_URL = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=";@GetMapping("/sendMessage")public String sendMessage() {String accessToken = getAccessToken();if (accessToken != null) {sendTextMessage(accessToken, "Hello, WeChat Work! This is a test message from Java.");return "Message has send success.";} else {return "Failed to get access token.";}}private String getAccessToken() {try {URL url = new URL(ACCESS_TOKEN_URL);HttpURLConnection connection = (HttpURLConnection) url.openConnection(

相关文章:

  • java进阶——JVM 与 Java 体系结构详解
  • 大语言模型的sft
  • 图片和PDF展示预览、并支持下载
  • 3040. 相同分数的最大操作数目 II Medium
  • 构建LangChain应用程序的示例代码:14、使用LangChain、GPT和Activeloop的Deep Lake来处理代码库
  • 稍微学学react
  • 56.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(4)
  • 43.bug:mapper接口参数使用@param重命名导致的错误
  • 怎么换自己手机的ip地址
  • C语言---深入指针(4)
  • springboot+minio+kkfileview实现文件的在线预览
  • 09 platfrom 设备驱动
  • 【Linux】信号(二)
  • 光伏电站绘制软件的基本方法
  • html标签
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Consul Config 使用Git做版本控制的实现
  • ES6之路之模块详解
  • JAVA SE 6 GC调优笔记
  • javascript面向对象之创建对象
  • js递归,无限分级树形折叠菜单
  • Js基础知识(一) - 变量
  • php ci框架整合银盛支付
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • SQLServer之索引简介
  • 闭包--闭包之tab栏切换(四)
  • 当SetTimeout遇到了字符串
  • 高程读书笔记 第六章 面向对象程序设计
  • 买一台 iPhone X,还是创建一家未来的独角兽?
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 面试总结JavaScript篇
  • 深入浏览器事件循环的本质
  • 什么软件可以剪辑音乐?
  • 使用docker-compose进行多节点部署
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 网络应用优化——时延与带宽
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​批处理文件中的errorlevel用法
  • ​香农与信息论三大定律
  • # Spring Cloud Alibaba Nacos_配置中心与服务发现(四)
  • #NOIP 2014# day.1 T2 联合权值
  • $$$$GB2312-80区位编码表$$$$
  • (第61天)多租户架构(CDB/PDB)
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)iOS字体
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • .md即markdown文件的基本常用编写语法
  • .net 7 上传文件踩坑
  • .Net Core与存储过程(一)
  • .NET NPOI导出Excel详解
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NetCore+vue3上传图片 Multipart body length limit 16384 exceeded.