企业微信机器人发送消息[通俗易懂]

企业微信机器人发送消息[通俗易懂]背景:之前用钉钉机器人可以发送消息,可以将线上的告警通知发送到消息群中,后来企业微信也支持在群组中增加机器人了,钉钉和企业微信机器人的使用很相似,都是使用webhook的方式来进行实现的,话不多说,咱们先配置机器人,然后再上代码。1.在企业微信的聊天群中增加机器人注意:目前只能在聊天群中添加机器人,所以我当时的做法是,先拉一个同事进群,然后再让他退群,具体步骤如下…

大家好,又见面了,我是你们的朋友全栈君。

背景:之前用钉钉机器人可以发送消息,可以将线上的告警通知发送到消息群中,后来企业微信也支持在群组中增加机器人了,钉钉和企业微信机器人的使用很相似,都是使用webhook的方式来进行实现的,话不多说,咱们先配置机器人,然后再上代码。

 

1.在企业微信的聊天群中增加机器人

注意:目前只能在聊天群中添加机器人,所以我当时的做法是,先拉一个同事进群,然后再让他退群,具体步骤如下

企业微信机器人发送消息[通俗易懂]

 

企业微信机器人发送消息[通俗易懂]

企业微信机器人发送消息[通俗易懂]

企业微信机器人发送消息[通俗易懂]

这个webhook地址就是一会要发送的地址,添加后的效果如下所示

企业微信机器人发送消息[通俗易懂]

如何后续忘了这个webhook地址,可以右键机器人然后再次查看刚才的webhook地址

企业微信机器人发送消息[通俗易懂]

不多说了,上面做那么多都是为了添加一个机器人,然后得到这个机器人绑定的webhook地址,下面开始上代码。

import java.util.concurrent.TimeUnit;

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

/**
* @author 作者
* @version 创建时间:2019年3月20日 下午4:27:36
* 类说明
*/
public class Test {
	
	public static void main(String[] args) throws Exception {
        //这里写刚才配置的Webhook地址
		String url = "https://qyapi.weixin.qq.com/asdasdasdasds/.....";
		String reqBody ="{" + 
				"    \"touser\":\"12345\"," + 
				"    \"msgtype\":\"text\"," + 
				"    \"agentid\":1," + 
				"    \"text\":{" + 
				"        \"content\":\"小白可以发消息了,公司班车快到了,大家快准备出发吧 !!!" + 
				" \"safe\":1" + 
				"}";
		
		OkHttpClient client = new OkHttpClient.Builder().connectTimeout(10, TimeUnit.SECONDS)// 设置连接超时时间
				.readTimeout(20, TimeUnit.SECONDS)// 设置读取超时时间
				.build();
		MediaType contentType = MediaType.parse("application/json; charset=utf-8");
		RequestBody body = RequestBody.create(contentType, reqBody);
		Request request = new Request.Builder().url(url).post(body).addHeader("cache-control", "no-cache").build();
		Response response = client.newCall(request).execute();
		byte[] datas = response.body().bytes();
		String respMsg = new String(datas);
		System.out.println(respMsg);
	}
}

效果如下所示

企业微信机器人发送消息[通俗易懂]

这样就发送成功了,大家可以去试试,虽然简单,但是很实用

其实,机器人支持的数据格式有很多种,大家可以去探索下,这里就不再赘述了。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148501.html原文链接:https://javaforall.net

(0)
上一篇 2022年6月28日 下午11:16
下一篇 2022年6月28日 下午11:36


相关推荐

  • web前端 html+css+javascript网页设计实例 企业网站制作

    web前端 html+css+javascript网页设计实例 企业网站制作(案例源码链接在文章末尾,仅供学习参考)一、在浏览器中的运行结果:二、部分代码1.HTML:<!DOCTYPEhtml><html><headlang=”en”><metacharset=”UTF-8″><title>启乐官网</title><linkrel=”stylesheet”href=”style.css”/><scriptsrc=”myjs.j

    2022年6月16日
    36
  • C#多线程编程_wpf和winform的区别

    C#多线程编程_wpf和winform的区别目录1.多线程描述2.线程生命周期3.线程的常用属性与方法4.线程操作(1)创建线程(2)管理线程(3)销毁线程1.多线程描述线程被定义为程序的执行路径。每个线程都定义了一个独特的控制流。在多线程之下可以通过分配线程,同时处理多个任务。2.线程生命周期线程生命周期开始于System.Threading.Thread类的对象被创建时,结束于线程被终止或完成执行时。下面列出了线程生命周期中的各种状态:未启动状态:当线程实例被创建但Start方法未被调用时的状况。就绪状

    2025年8月25日
    5
  • 在目录下打开命令行_如何用命令行打开文件夹

    在目录下打开命令行_如何用命令行打开文件夹用命令行打开指定目录。基本指令nautilus+路径命令可以在ubuntu上直接打开此路径的目录。如nautilus~/workspace/。打开win格式的路径在Windows上的路径为反斜线\,在ubuntu命令行是无法识别的,此时需要将\转换为/。使用sed命令可以自动转换。以下命令可以打开/home/eric.cai/Workspace/目录:nautilus$(echo’\home\eric.cai\Workspace’|sed‘s+\\+/+g’)写成

    2022年10月15日
    4
  • ASP.Net中menu控件使用「建议收藏」

    ASP.Net中menu控件使用「建议收藏」为了使用方便asp.net中提供了两类控件html控件与用户控件。这里不在详细介绍。menu属于用户控件。menu最重要的是item属性,item包含了menu控件要显示的类表,几级菜单神马的,点击item属性后面出现一个对话框,也可以点menu控件的箭头如下图:点击编辑菜单项也会弹出对话框,根据自己爱好可以进行设定,下面是我自己设定的:当然旁边对应的是每个条目对应的属

    2022年7月27日
    20
  • 1174: 零起点学算法81——求整数绝对值

    1174: 零起点学算法81——求整数绝对值

    2022年3月2日
    49
  • 数控编程g代码大全与详解_数控g代码格式和解释

    数控编程g代码大全与详解_数控g代码格式和解释一、G代码功能简述G00快速定位G01直线插补G02顺时针方向圆弧插补G03逆时针方向圆弧插补G04定时暂停G05通过中间点圆弧插补G06抛物线插补G07Z样条曲线插

    2022年8月3日
    10

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号