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

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


相关推荐

  • 微信开放平台开发第三方授权登陆(一):开发前期准备

    微信开放平台开发第三方授权登陆(一):开发前期准备据微信开放平台“开发资源”中网站应用微信登陆功能开发指南描述:进行授权登陆接入前,需要先注册一个开发者账号,并拥有一个已经审核通过的网站应用,并获取AppID和APPSecret,然后申请微信登陆并通过审核后,可以接入流程进行开发。据开发者资质认证处介绍:开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力。所以在微信第三方授权登陆获取用户信息…

    2022年5月11日
    58
  • 纸上得来终觉浅,绝知此事要躬行

    纸上得来终觉浅,绝知此事要躬行

    2021年10月2日
    54
  • 虚拟现实开发一些建议怎么写_虚拟现实开发引擎

    虚拟现实开发一些建议怎么写_虚拟现实开发引擎本文章由cartzhang编写,转载请注明出处。所有权利保留。文章链接:作者:cartzhang【本文为原作者对虚拟现实开发的一些建议和理解,写的非常不错。理解的也非常透彻,希望对各位在路上的VR开发者有积极作用。】下面是我对虚拟现实开发一下建议。我已经把他们分为Vive相关,常规VR和更宽泛意义上的建议。更多建议请关注我的Twitter。一、Vive相关1.让玩家按下按键

    2025年11月10日
    3
  • sql中的判断语句 if…else的使用[通俗易懂]

    sql中的判断语句 if…else的使用[通俗易懂]–1.oracle和mysql数据库都可以这样写CASEWHEN(RO.APPROVE_QUANTITY-NVL(tto.QUANTITY,0))<0THEN0ELSE(RO.APPROVE_QUANTITY-NVL(tto.QUANTITY,0))ENDsurplusQuantity--注意:NVL()是oracle数据库中对字段的非空校验,如果字段名为

    2022年7月16日
    34
  • XNA中的鼠标,键盘与操纵杆

    XNA中的鼠标,键盘与操纵杆

    2021年7月23日
    61
  • 神经网络之反向传播算法实现

    1神经网络模型以下面神经网络模型为例,说明神经网络中正向传播和反向传播过程及代码实现1.1正向传播(1)输入层神经元$i_1,i_2$,输入层到隐藏层处理过程$$HiddenNeth_1

    2021年12月30日
    36

发表回复

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

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