✨Feat: 实现简单消息发送
This commit is contained in:
@@ -16,6 +16,23 @@
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.larksuite.oapi</groupId>
|
||||
<artifactId>oapi-sdk</artifactId>
|
||||
<version>2.4.24</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<properties>
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
package cn.hezhaohui.lark;
|
||||
|
||||
import cn.hezhaohui.lark.util.LarkUtil;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@SpringBootApplication
|
||||
public class Application {
|
||||
public static void main(String[] args) {
|
||||
public static void main(String[] args) throws Exception {
|
||||
SpringApplication.run(Application.class, args);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
package cn.hezhaohui.lark.constant;
|
||||
|
||||
public class AppConstant {
|
||||
|
||||
public final static String APP_ID = "cli_a875a60984b5500c";
|
||||
public final static String APP_SECRET = "toAfmMddNEG9qWsYngs7wch0HwW4vAls";
|
||||
public final static String APP_USER_OPEN_ID = "ou_9eb248881be923bad599f342c22a4e7a";
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
package cn.hezhaohui.lark.util;
|
||||
|
||||
import cn.hezhaohui.lark.constant.AppConstant;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.json.JSONUtil;
|
||||
import com.google.gson.JsonParser;
|
||||
import com.lark.oapi.Client;
|
||||
import com.lark.oapi.core.utils.Jsons;
|
||||
import com.lark.oapi.service.im.v1.model.*;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class LarkUtil {
|
||||
|
||||
// SDK 使用文档:https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/server-side-sdk/java-sdk-guide/preparations
|
||||
// 复制该 Demo 后, 需要将 "YOUR_APP_ID", "YOUR_APP_SECRET" 替换为自己应用的 APP_ID, APP_SECRET.
|
||||
// 以下示例代码默认根据文档示例值填充,如果存在代码问题,请在 API 调试台填上相关必要参数后再复制代码使用
|
||||
|
||||
public static void sendText(String content) throws Exception {
|
||||
// 构建client
|
||||
Client client = Client.newBuilder(AppConstant.APP_ID, AppConstant.APP_SECRET).build();
|
||||
|
||||
// Json 包装
|
||||
Map<String, String> text = new HashMap<>();
|
||||
text.put("text", content);
|
||||
String textJson = JSONUtil.toJsonStr(text);
|
||||
|
||||
// 创建请求对象
|
||||
CreateMessageReq req = CreateMessageReq.newBuilder()
|
||||
.receiveIdType("open_id")
|
||||
.createMessageReqBody(CreateMessageReqBody.newBuilder()
|
||||
.receiveId(AppConstant.APP_USER_OPEN_ID)
|
||||
.msgType("text")
|
||||
.content(textJson)
|
||||
.uuid(IdUtil.randomUUID())
|
||||
.build())
|
||||
.build();
|
||||
|
||||
// 发起请求
|
||||
CreateMessageResp resp = client.im().v1().message().create(req);
|
||||
|
||||
// 处理服务端错误
|
||||
if(!resp.success()) {
|
||||
System.out.println(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;
|
||||
}
|
||||
|
||||
// 业务数据处理
|
||||
System.out.println(Jsons.DEFAULT.toJson(resp.getData()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package cn.hezhaohui.lark.util;
|
||||
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
class LarkUtilTest {
|
||||
|
||||
@Test
|
||||
void sendText() throws Exception {
|
||||
LarkUtil.sendText("你好");
|
||||
}
|
||||
}
|
||||
@@ -21,24 +21,21 @@
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-web</artifactId>
|
||||
<version>3.2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>3.2.2</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-test</artifactId>
|
||||
<artifactId>spring-boot-dependencies</artifactId>
|
||||
<version>3.2.2</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.30</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>cn.hutool</groupId>
|
||||
<artifactId>hutool-all</artifactId>
|
||||
<version>5.8.9</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<!-- 构建配置 -->
|
||||
@@ -48,6 +45,7 @@
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<version>3.2.2</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
Reference in New Issue
Block a user