当前位置:   article > 正文

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

resttemplate企业微信群

前言

学习了一下,如何通过企业微信的群聊机器人发送信息,没想到比想象中的简单,那么这次就来讲讲如何进行通过群聊机器人发送信息吧

步骤

第一步,在自己的企业进行创建一个群聊
在这里插入图片描述
然后,在自己的群聊里,添加机器人
在这里插入图片描述
然后复制这个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();
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

写一个controller

    //测试用企业微信群聊机器人发送信息
    @GetMapping("/test")
    public String test() {
        return testService.test();
    }
  • 1
  • 2
  • 3
  • 4
  • 5

写一个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);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

然后调用该接口
在这里插入图片描述
以上截图为代码进行发送的消息

其他类型消息发送

文本消息
  • 1
       Map<String, Object> sendMap = new HashMap<>();
        //设置消息类型 txt文本
        sendMap.put("msgtype", "text");
        Map<String, String> contentMap = new HashMap<>();
        contentMap.put("content", "测试");
        sendMap.put("text", contentMap);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
图片消息
  • 1
        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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
图文消息
  • 1
       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);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

更详细的发送文本信息参考企业微信api
企业微信api

结语

以上为企业微信通过群聊机器人用springboot发送信息的实现过程

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/542732
推荐阅读
相关标签
  

闽ICP备14008679号