赞
踩
学习了一下,如何通过企业微信的群聊机器人发送信息,没想到比想象中的简单,那么这次就来讲讲如何进行通过群聊机器人发送信息吧
第一步,在自己的企业进行创建一个群聊
然后,在自己的群聊里,添加机器人
然后复制这个Webhook的地址
写一个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 发送的参数 * @return AdToutiaoJsonTokenData */ 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<Object> requestEntity = new HttpEntity<>(params, headers); //执行HTTP请求,将返回的结构使用String 类格式化(可设置为对应返回值格式的类) ResponseEntity<String> 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<String, Object> sendMap = new HashMap<>();
//设置消息类型 markdown文本
sendMap.put("msgtype", "markdown");
Map<String, String> contentMap = new HashMap<>();
contentMap.put("content", "测试测试<font color=\\\"warning\\\">我是机器人</font>23333\\\n" ">");
sendMap.put("markdown", contentMap);
return HttpUtils.sendPostRequest(wxRobot,sendMap);
}
然后调用该接口
以上截图为代码进行发送的消息
文本消息
Map<String, Object> sendMap = new HashMap<>();
//设置消息类型 txt文本
sendMap.put("msgtype", "text");
Map<String, String> contentMap = new HashMap<>();
contentMap.put("content", "测试");
sendMap.put("text", contentMap);
图片消息
String url = "本地路径图片或者服务器图片路径(D://xxx.png或者https://www.xxx.com/xxx.png)";
Map<String, Object> sendMap = new HashMap<>();
sendMap.put("msgtype", "image");
Map<String, String> contentMap = new HashMap<>();
contentMap.put("base64", base64数据);
contentMap.put("md5", "文件转base64的前缀:如data:application/pdf;base64,");
sendMap.put("image", contentMap);
图文消息
Map<String, Object> sendMap = new HashMap<>();
sendMap.put("msgtype", "news");
Map<String, Object> contentMap = new HashMap<>();
List<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> 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发送信息的实现过程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。