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

导读:本篇文章讲解 企业微信通过群聊机器人用springboot发送信息,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

前言

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

步骤

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

(0)

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!