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

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


相关推荐

  • haproxy小结(一)基础概念篇

    haproxy小结(一)基础概念篇

    2022年3月7日
    38
  • 计算机适配器有什么作用,例举适配器是什么

    计算机适配器有什么作用,例举适配器是什么随着科技进步,网络的进步,电脑已逐渐渗透到我们生活的方方面面,但是我们对于电脑的一些配置却不怎么了解,比如我们经常用到的适配器。下面,我就将适配器的一些小知识分享给大家我们在生活中或者使用电脑的时候经常会看到适配器一词,很多朋友就纳闷了,适配器是什么呢?有什么作用呢?针对这些问题,小编给大家整理了一些适配器的介绍,赶紧来瞧瞧吧适配器介绍电脑图解1适配器是一个接口转换器,也就是一种起中间连接作用的配…

    2022年6月7日
    49
  • ubuntu上安装pycharm_ubuntu打开pycharm

    ubuntu上安装pycharm_ubuntu打开pycharm一、安装python3.5默认情况下,linux下是默认使用2.x版本的,现在我们要安装3.x版本,具体操作如下1、去官网下载安装包。(这里我下载的是.tgz版本)2、用命令解压安装包tar-zxvf+压缩包3、进入解压后的文件cd+解压后的文件夹4、./configure–prefix=/usr/local/python3.5重定向到该文件夹下进行编译5.make6.make…

    2022年8月29日
    6
  • mysql decimal 空,MySQL DECIMAL数据类型

    mysql decimal 空,MySQL DECIMAL数据类型同事问MySQL数据类型DECIMAL(N,M)中N和M分别表示什么含义,M不用说,显然是小数点后的小数位数,但这个N究竟是小数点之前的最大位数,还是加上小数部分后的最大位数?这个还真记不清了。于是乎,创建测试表验证了一番,结果如下:测试表,seller_cost字段定义为decimal(14,2)CREATETABLE`test_decimal`(`id`int(11)NOTNULL,`sell…

    2022年7月17日
    21
  • 几种更新(Update语句)查询的方法

    几种更新(Update语句)查询的方法

    2021年12月13日
    52
  • WinForm和WPF的区别「建议收藏」

    一、控件的差异作为Windows桌面UI开发的两大.net开发库,WinForm和WPF同时存在着。之所以功能如此重合的两个库同时存在,是因为两者的底层差异非常大,WinForm底层依赖于传统的Win32API,特别是User32.dll;而WPF则底层依赖于Direct3D。而我们知道User32和Direct3D两者是平行存在,彼此独立的。WPF之前几乎所有的WindowsUI开发都依赖于User32,当然游戏除外。随着Direct3D的日趋成熟和显卡的普通性能提升,微软力图改变这种状况,所以开发

    2022年4月12日
    55

发表回复

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

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