Java实现企业微信三方自建应用发送消息通知功能

自建应用发送消息通知需要用到三样东西

1、应用id:AgentId

2、应用Secret:Secret

3、企业ID:corpId

全部准备好后接下来就开始代码实操:
企业微信官方提供了方法供我们方便实用:
<dependency>
<groupId>com.github.binarywang</groupId>
<artifactId>weixin-java-cp</artifactId>
<version>4.6.0</version> <!-- 根据最新版调整 -->
</dependency>

和企业微信登录一样,先声明一下wxMpService将获取到的agentId、sercret、corpId全部置入wxMpService方法中

全部置入后调用WxCpService中的方法就不需要再去手动输入AgentId、Secret、corpId,直接调用里面的方法即可,本次调用该包内的WxCpMessage方法

这里我们直接使用WxCpMessage.TEXT()方法构建一下消息内容
这里需要几个参数:agentId、userId、content

需要卡片形式跳转还可以置入url参数

其中需要注意,这里的userId是调用企业微信登录接口后userInfo接口获取到的企业微信专属身份认证的userId,单个直接传入,多个需使用“|”隔开,全部人员也可以使用@all

消息体构建完毕后直接调用send方法置入message即可

具体完整代码如下:
/**
* 发送消息通知
demo
* @param toUser
用户id
* @return
*/
@GetMapping("/send")
public String sendMessage(@RequestParam(value = "toUser") String toUser) {
try {
String content ="您的登录已完成,请查收通知!
";
WxCpMessage message = WxCpMessage.TEXT()
.agentId(wxCpService.getWxCpConfigStorage().getAgentId())//agentId
.toUser(toUser) //
如 "@all" 或 "user1|user2" //企业userId
.content(content)//发送消息内容
// .url("https://www.baidu.com")
.build();
wxCpService.getMessageService().send(message);
return "消息发送成功";
} catch (WxErrorException e) {
return "发送失败:" + e.getError().getErrorMsg(); // 错误码如 40001(Secret错误)
}
}

原文链接:,转发请注明来源!