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

SpringBoot对接飞书机器人

账号创建

本地是在电脑端,点击左上角的加号,选择创建群组,之后在对应群组页面的右上角打开设置,点击群机器人,添加机器人,选择下面这一个即可

点击创建机器人后可以获取到对应的 webhook 地址

签名校验:如若不勾选此项,是没有加权限校验的实现,也就是说只要获取到 webhook 链接,谁都可以向这个群里发送消息,针对此情况可以开启群机器人的 权限校验,从这里开启,获取到秘钥之后,点击保存即可。


代码实现

1、添加配置

将 webhook 加到application.yml(配置文件)中,然后用配置类来读取,将配置类交由 spring 管理:

feishu:aiUrl:https://open.feishu.cn/open-apis/bot/v2/hook/secret:signName:来客资喽
@Slf4j@Configuration@ConfigurationProperties(prefix="feishu")@DatapublicclassFeiShuClient{privateStringaiUrl;privateStringsecret;privateStringsignName;publicvoidsendMsg(Stringnotice){Stringtimestamp=String.valueOf(System.currentTimeMillis()/1000);// 当前时间戳,单位秒Stringsign=calculateSignature(timestamp,secret);Map<String,Object>json=newHashMap();Map<String,Object>text=newHashMap();text.put("text","【"+signName+"】"+"企业名称:"+notice);json.put("msg_type","text");json.put("content",text);json.put("timestamp",timestamp);json.put("sign",sign);//发送post请求Stringresult=HttpRequest.post(this.aiUrl).body(JSON.toJSONString(json),"application/json;charset=UTF-8").execute().body();log.info("feishu resp:{}",result);}privatestaticStringcalculateSignature(Stringtimestamp,Stringsecret){try{//把timestamp+"\n"+密钥当做签名字符串StringstringToSign=timestamp+"\n"+secret;//使用HmacSHA256算法计算签名Macmac=Mac.getInstance("HmacSHA256");mac.init(newSecretKeySpec(stringToSign.getBytes(StandardCharsets.UTF_8),"HmacSHA256"));byte[]signData=mac.doFinal(newbyte[]{});returnBase64.getEncoder().encodeToString(signData);}catch(Exceptione){thrownewRuntimeException("sign 计算异常");}}}

2、测试接口

将需要发送的消息,传递给接口,测试下 效果如下:

http://www.jsqmd.com/news/268396/

相关文章:

  • 从“记住我”到“控制我”:Apache Shiro默认密钥反序列化攻击(CVE-2016-4437)深度攻防解析
  • Python就业前景好不好?
  • String、String StringBuffer 和 StringBuilder 的区别是什 么?
  • JVM中的锁优化
  • 450万天价零日突袭:通杀Android12-16的静默攻击,数十亿设备安全重构迫在眉睫
  • 【计算机毕业设计案例】基于SpringBoot+微信小程序的微信电影院票务系统管理系统(程序+文档+讲解+定制)
  • Github千星项目之.Net(四)
  • Python编程最好的就业方向是什么?
  • APP/小程序个人信息保护合规自查手册(附整改方案)
  • Linux文件权限777和755的区别!
  • 文件脱敏程序设计思路
  • 电路架构的三维呈现:利用芯片3D动画解锁IC设计的视觉奥义
  • 亲测Meta-Llama-3-8B-Instruct:8K上下文对话效果超出预期
  • 小程序计算机毕设之基于springboot+微信小程序的电影院票务、在线购票话剧票务管理系统(完整前后端代码+说明文档+LW,调试定制等)
  • 误差反向传播法(链式法则)
  • 2026企业认证体系迎大洗牌:Net-NTLMv1彩虹表数据库 敲响NTLMv1丧钟
  • 李飞飞的World Labs联手光轮智能,具身智能进入评测驱动时代!
  • 反向传播为何如此高效?解锁其核心引擎:链式法则
  • 【tensorRT从零起步高性能部署】22-TensorRT基础-模型推理动态shape
  • 内网凭据挖掘技术深度揭秘:从终端渗透到网络服务的企业防线突破全链路解析
  • 这家西方开源大模型公司,开源出了DeepSeek-V3背后的架构!头部模型表现都差不多了,Mistral CEO自曝如何赚钱
  • 2026开年炸雷!Apache Kafka三重高危漏洞肆虐:RCE+DoS+SSRF齐发,波及2.0.0-3.9.0全版本,企业升级刻不容缓
  • 方程豹豹8开启智驾撞牛未停车 车主质疑:智驾有什么用呢?
  • 【普中STM32F1xx开发攻略--标准库版】-- 第 29 章 内部温度传感器实验
  • 手搓HTML解析器:500行代码实现完整的DOM树构建
  • 三招速查本机端口占用
  • 护照阅读器:爱达魔都号邮轮的高效登船助力
  • 【读书笔记】《日常生活中的自我呈现》
  • 小程序毕设项目推荐-基于微信小程序的文化娱乐购票系统基于springboot+微信小程序的话剧票务管理系统【附源码+文档,调试定制服务】
  • 马斯克狂砸16亿「买」他五年!揭秘特斯拉2号人物,那个睡工厂的狠人