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

Java接入飞书发送通知消息

添加依赖

        <!--飞书推送--><dependency><groupId>com.larksuite.oapi</groupId><artifactId>oapi-sdk</artifactId><version>2.4.22</version></dependency>

创建应用,添加机器人

在这里插入图片描述
在这里插入图片描述

开通权限

在这里插入图片描述

制作卡片

在这里插入图片描述
这里配置了一个变量,用来接收具体的消息内容
在这里插入图片描述

Java代码

					//飞书推送消息List<String> targetUserIds = new ArrayList<>();//接收消息的open_idtargetUserIds.add(iDictValue.getDictValue("jcNotice",underTakeId));String content = balanceUser+" 平衡的集中采购合同号("+poNo+"),已经生成,请及时处理!";feishuUserService.batchPushMessage(targetUserIds, content);
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.lark.oapi.Client;
import com.lark.oapi.core.response.RawResponse;
import com.lark.oapi.core.token.AccessTokenType;
import com.lark.oapi.core.utils.Jsons;
import com.lark.oapi.service.im.v1.model.CreateMessageReq;
import com.lark.oapi.service.im.v1.model.CreateMessageReqBody;
import com.lark.oapi.service.im.v1.model.CreateMessageResp;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.nio.charset.StandardCharsets;
import java.util.List;@Service
@Slf4j
public class FeishuUserServiceImpl implements IFeishuUserService{@Value("${feishu.app-id}")private String appId;@Value("${feishu.app-secret}")private String appSecret;//飞书消息推送public void pushMessage(String openId, String content) throws Exception {// 构建clientClient client = Client.newBuilder(appId, appSecret).build();// 创建请求对象CreateMessageReq req = CreateMessageReq.newBuilder().receiveIdType("open_id").createMessageReqBody(CreateMessageReqBody.newBuilder().receiveId(openId).msgType("text").content("{\"text\":\"" + content + "\"}").build()).build();// 发起请求CreateMessageResp resp = client.im().v1().message().create(req);// 处理服务端错误if(!resp.success()) {log.error(String.format("code:%s,msg:%s,reqId:%s, resp:%s",resp.getCode(), resp.getMsg(), resp.getRequestId(), Jsons.createGSON(true, false).toJson(JsonParser.parseString(new String(resp.getRawResponse().getBody(), StandardCharsets.UTF_8)))));return;}// 业务数据处理log.info(Jsons.DEFAULT.toJson(resp.getData()));}//批量推送@Overridepublic void batchPushMessage(List<String> openIds, String content) {// 构建clientClient client = Client.newBuilder(appId, appSecret).build();// 检查参数有效性if (openIds == null || openIds.isEmpty()) {return;}if (content == null || content.trim().isEmpty()) {return;}try {// 构建接收者ID列表JsonArray ids = new JsonArray();for (String openId : openIds) {ids.add(openId);}// 构建消息内容JsonObject contentObj = new JsonObject();contentObj.addProperty("type", "template");JsonObject cardData = new JsonObject();cardData.addProperty("template_id", "AAqhywvSQImB5");//卡片IDJsonObject tampVar = new JsonObject();tampVar.addProperty("noticeInfo", content);//消息变量cardData.add("template_variable", tampVar);contentObj.add("data", cardData);// 构建请求体JsonObject body = new JsonObject();body.addProperty("msg_type", "interactive");body.add("open_ids", ids);body.add("card", contentObj);// 发送请求RawResponse rawResponse = client.post("/open-apis/message/v4/batch_send/",body,AccessTokenType.Tenant);// 解析响应if (rawResponse.getStatusCode() == 200) {log.info("批量推送消息成功");} else {log.error("批量推送消息失败");}} catch (Exception e) {log.error("批量推送消息异常", e);}}
}

配置文件就是飞书中的应用凭证
在这里插入图片描述
在这里插入图片描述

最后效果

在这里插入图片描述

http://www.dtcms.com/a/573437.html

相关文章:

  • Vue.js 基础教程:从入门到实践
  • .net实现秒杀商品(Redis高并发)
  • 解决phpstudy 8.x软件中php8.2.9没有redis扩展的问题
  • 【MCP系列】飞书MCP使用
  • 阜新网站设计淮北市矿务局工程建设公司网站
  • 攻克维吾尔语识别的技术实践(多语言智能识别系统)
  • [Windows] 漫画翻译工具Saber Translator2.5.1
  • 手术机器人智能控制系统基本课时项目化课件(2025.08.25)
  • NATS安装与配置完全指南
  • 开发网站如何选需要注意什么汉川网页设计
  • seo根据什么具体优化想做个卷帘门百度优化网站
  • Rust 练习册 7:高阶生命周期与高阶 trait 限定
  • Linux服务器通过密钥登录服务器
  • 网站开发2008家纺外发加工订单网
  • 广州地铁站路线图广告设计师证怎么考
  • 【拾遗补漏】.NET 常见术语集
  • 从零开发一个简单的Web爬虫(使用Requests和BeautifulSoup)
  • 荷城网站设计做网站找哪家最好
  • Hadoop 分布式计算MapReduce和资源管理Yarn
  • DOM XMLHttpRequest
  • day08(11.5)——leetcode面试经典150
  • XML CDATA 区块详解
  • 网站专题页优化网站推广南京公司
  • 记录GDI+保存位图
  • 市值分析:半导体龙头的估值边界在哪里?——以NVIDIA为案例的概率化拆解
  • 内蒙古创意网站开发微网站建设服务商
  • 网站做全景图极速网站建设定制
  • wordpress新增站点盐城整站优化
  • 网络安全常见的框架漏洞
  • 停车场管理系统基础知识与原理