springboot|企业微信通过群聊机器人用springboot发送信息

前言 学习了一下,如何通过企业微信的群聊机器人发送信息,没想到比想象中的简单,那么这次就来讲讲如何进行通过群聊机器人发送信息吧
步骤 【springboot|企业微信通过群聊机器人用springboot发送信息】第一步,在自己的企业进行创建一个群聊
springboot|企业微信通过群聊机器人用springboot发送信息
文章图片

然后,在自己的群聊里,添加机器人
springboot|企业微信通过群聊机器人用springboot发送信息
文章图片

然后复制这个Webhook的地址
springboot|企业微信通过群聊机器人用springboot发送信息
文章图片

写一个Http调用的工具类(只需要post请求)

import org.springframework.http.*; import org.springframework.web.client.RestTemplate; import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.InputStreamReader; public class HttpUtils { /** * 向目的URL发送post请求 * @param url目的url * @param params发送的参数 * @returnAdToutiaoJsonTokenData */ public static String sendPostRequest(String url, Object params){ RestTemplate client = new RestTemplate(); //新建Http头,add方法可以添加参数 HttpHeaders headers = new HttpHeaders(); //设置请求发送方式 HttpMethod method = HttpMethod.POST; // 以表单的方式提交 headers.setContentType(MediaType.APPLICATION_JSON_UTF8); //将请求头部和参数合成一个请求 HttpEntity requestEntity = new HttpEntity<>(params, headers); //执行HTTP请求,将返回的结构使用String 类格式化(可设置为对应返回值格式的类) ResponseEntity response = client.exchange(url, method, requestEntity, String.class); return response.getBody(); } }
写一个controller
//测试用企业微信群聊机器人发送信息 @GetMapping("/test") public String test() { return testService.test(); }

写一个service
// 企业微信机器人发送消息 public String test() { // 在这里黏贴刚刚的地址 String wxRobot = "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxxxx"; Map sendMap = new HashMap<>(); //设置消息类型 markdown文本 sendMap.put("msgtype", "markdown"); Map contentMap = new HashMap<>(); contentMap.put("content", "测试测试我是机器人23333\\\n"">"); sendMap.put("markdown", contentMap); return HttpUtils.sendPostRequest(wxRobot,sendMap); }

然后调用该接口
springboot|企业微信通过群聊机器人用springboot发送信息
文章图片

以上截图为代码进行发送的消息
其他类型消息发送
文本消息

Map sendMap = new HashMap<>(); //设置消息类型 txt文本 sendMap.put("msgtype", "text"); Map contentMap = new HashMap<>(); contentMap.put("content", "测试"); sendMap.put("text", contentMap);

图片消息

String url = "本地路径图片或者服务器图片路径(D://xxx.png或者https://www.xxx.com/xxx.png)"; Map sendMap = new HashMap<>(); sendMap.put("msgtype", "image"); Map contentMap = new HashMap<>(); contentMap.put("base64", base64数据); contentMap.put("md5", "文件转base64的前缀:如data:application/pdf; base64,"); sendMap.put("image", contentMap);

图文消息

Map sendMap = new HashMap<>(); sendMap.put("msgtype", "news"); Map contentMap = new HashMap<>(); List> list = new ArrayList<>(); Map obj = new HashMap<>(); obj.put("title", "标题"); obj.put("description", "测试文本"); obj.put("url", "点击时跳转的链接"); obj.put("picurl", "显示图片的链接"); list.add(obj); contentMap.put("articles", list); sendMap.put("news", contentMap);

更详细的发送文本信息参考企业微信api
企业微信api
结语 以上为企业微信通过群聊机器人用springboot发送信息的实现过程

    推荐阅读