“ 通过上一篇的准备工作,本篇将介绍如何发送微信企业消息。”
企业微信API文档:
https://open.work.weixin.qq.com/api/doc/90000/90135/90664
需要用到的是消息推送里面的发送应用消息接口,我们先来看一下这个接口文档
他支持发送文本/图片/视频/文件/图文等类型的消息
参数说明:
可以看到,只需要传touser和agentid参数就可以发送一条最简单的消息给这个用户了
请求地址中的access_token是接口调用的凭证,他是由另外一个接口获取到的,来看一下获取access_token的接口
从文档可以看到,只需要传corpid和corpsecret这两个参数就可以了,上一篇已经讲了这些参数在哪里获取,这里不再赘述。
话不多说,开搞!
01
—
获取access_token
根据接口文档,创建一个getAccessToken方法,
public String getAccessToken() throws IOException {// 你自己的企业id参数 String corpid = "";// 你自己的应用凭证密钥 String corpsecret = "";// 定义请求url String getAccessTokenUrl = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=" + corpid + "&corpsecret=" + corpsecret;// 创建一个=HttpClient对象 OkHttpClient client = new OkHttpClient.Builder().build();// 创建一个request Request request = new Request.Builder().url(getAccessTokenUrl).get().build();// 发起request请求 Response response = client.newCall(request).execute();// 获取响应结果,转换成json格式的 JSONObject res = JSON.parseObject(response.body().string());// 返回access_token return res.getString("access_token"); }
测试一下看看:
02
—
发送消息
获取到access_token之后就可以调用发送消息接口对指定用户发送消息。
创建一个发送消息的方法:
public void sendMessage(String message) throws IOException {// 获取access_token String accress_token = getAccessToken();// 定义请求url String url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+accress_token;// 定义请求参数 JSONObject param = new JSONObject();// 消息是以JSON对象的形式传的,所以再定义一个消息对象 JSONObject msgJson = new JSONObject(); msgJson.put("content",message); param.put("touser","MaMeng"); param.put("msgtype","text"); param.put("agentid",1000002); param.put("text",msgJson);// 把请求参数转换成请JSON格式的求体对象 RequestBody body = RequestBody.create(MediaType.parse("application/json;charset=UTF-8"),param.toJSONString());// 创建HTTPClient对象 OkHttpClient client = new OkHttpClient.Builder().build();// 创建request对象 Request request = new Request.Builder().url(url).post(body).build();// 发起请求 Response response = client.newCall(request).execute();// 打印出请求结果 System.out.println(response.body().string()); }
运行sendMseeage方法:
企业微信就会收到这条推送消息。
这样就完成了第一步,欢迎大家关注,一起搞点有意思的东西