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

企业微信机器人发送消息[通俗易懂]背景:之前用钉钉机器人可以发送消息,可以将线上的告警通知发送到消息群中,后来企业微信也支持在群组中增加机器人了,钉钉和企业微信机器人的使用很相似,都是使用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);
	}
}

效果如下所示

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

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 001-软件测试的定义、目的,原则[通俗易懂]

    001-软件测试的定义、目的,原则[通俗易懂]001-软件测试的定义、目的,原则

  • Intellij IDEA神器居然还有这些小技巧

    概述 真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对 的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的 技巧分享给大家。本文是这个系列的第一篇,主要介绍一些你可能

  • Java精选笔试题

    Java精选笔试题1,volatile关键字是否能保证线程安全?()>>>>答案:否volatile关键字用在多线程同步中,可保证读取的可见性,JVM只是保证从主内存加载到线程工作内存的值是最新的读取值,而非cache中。但多个线程对volatile的写操作,无法保证线程安全。假如线程1,线程2在进行read,load操作中,发现主内存中co…

  • FRP内网穿透_内网穿透 无需公网ip

    FRP内网穿透_内网穿透 无需公网ip一、关于内网穿透内网穿透,也即NAT穿透,进行NAT穿透是为了使具有某一个特定源IP地址和源端口号的数据包不被NAT设备屏蔽而正确路由到内网主机。下面就相互通信的主机在网络中与NAT设备的相对位置介绍内网穿透方法。二、为什么要使用内网穿透为了外网要访问内网,因为当不在同一局域网内,ip和地址互相ping不同的话,最简单的方式是使用向日葵与teamview,但是用起来并不方便。三、使用frp进行内网穿透(1)关于frp的介绍frp是一个高性能的反向代理应用,可以帮助您轻

  • WinSCP怎么导入filezilla中的站点?

    WinSCP怎么导入filezilla中的站点?

  • 初识js中的闭包_Js闭包中变量理解

    初识js中的闭包_Js闭包中变量理解今天看了关于js闭包方面的文章,还是有些云里雾里,对于一个菜鸟来说,学习闭包确实有一定的难度,不说别的,能够在网上找到一篇优秀的是那样的不易。当然之所以闭包难理解,个人觉得是基础知识掌握的不牢,因为

发表回复

您的电子邮箱地址不会被公开。

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