大家好,又见面了,我是你们的朋友全栈君。
背景:之前用钉钉机器人可以发送消息,可以将线上的告警通知发送到消息群中,后来企业微信也支持在群组中增加机器人了,钉钉和企业微信机器人的使用很相似,都是使用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账号...