前言
学习了一下,如何通过企业微信的群聊机器人发送信息,没想到比想象中的简单,那么这次就来讲讲如何进行通过群聊机器人发送信息吧
步骤
第一步,在自己的企业进行创建一个群聊
然后,在自己的群聊里,添加机器人
然后复制这个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发送信息的实现过程
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/101130.html