这里的消息是企业微信和微信都能收到消息

1.注册一个企业微信,记住企业ID(我的企业-企业id)

2.应用管理--创建应用(记住AgentId和Secret)

3.下面是代码

package com.jingmai.video.live.messagecenter.utils;/*** @ClassName WeChatData* @Description* @Author lyf* @Date 2022/2/15 15:20**/
public class WeChatData {//发送微信消息的URLString sendMsgUrl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token= ";/*** 成员账号*/private String touser;/*** 部门账号*/private String  toparty;/*** 消息类型*/private String msgtype;/*** 企业应用的agentID*/private int agentid;/*** 实际接收Map类型数据*/private Object text;public Object getText() {return text;}public void setText(Object text) {this. text = text;}public String getMsgtype() {return msgtype;}public void setMsgtype(String msgtype) {this. msgtype = msgtype;}public int getAgentid() {return agentid;}public void setAgentid( int agentid) {this. agentid = agentid;}public String getTouser() {return touser;}public void setTouser(String touser) {this. touser = touser;}public String getToparty() {return toparty;}public void setToparty(String toparty) {this.toparty = toparty;}
}
package com.jingmai.video.live.messagecenter.utils;import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.Map;import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import org.slf4j.LoggerFactory;
/*** @ClassName WeChatMsgSend* @Description* @Author lyf* @Date 2022/2/15 15:20**/
public class WeChatMsgSend {private CloseableHttpClient httpClient;/***  用于提交登陆数据*/private HttpPost httpPost;/***  用于获得登录后的页面*/private HttpGet httpGet;public static final String CONTENT_TYPE = "Content-Type";SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");private static Gson gson = new Gson();/*** 微信授权请求,GET类型,获取授权响应,用于其他方法截取token* @param Get_Token_Url* @return String 授权响应内容* @throws IOException*/protected String toAuth(String Get_Token_Url) throws IOException {httpClient = HttpClients.createDefault();httpGet = new HttpGet(Get_Token_Url);CloseableHttpResponse response = httpClient.execute(httpGet);String resp;try {HttpEntity entity = response.getEntity();resp = EntityUtils.toString(entity, "utf-8");EntityUtils.consume(entity);} finally {response.close();}LoggerFactory.getLogger(getClass()).info(" resp:{}", resp);return resp;}/**corpid应用组织编号   corpsecret应用秘钥* 获取toAuth(String Get_Token_Url)返回结果中键值对中access_token键的值* @param*/public  String getToken(String corpid,String corpsecret) throws IOException {WeChatMsgSend sw = new WeChatMsgSend();WeChatUrlData uData = new WeChatUrlData();uData.setGet_Token_Url(corpid,corpsecret);String resp = sw.toAuth(uData.getGet_Token_Url());System.out.println("resp=====:"+resp);try{Map<String, Object> map = gson.fromJson(resp,new TypeToken<Map<String, Object>>() {}.getType());return map.get("access_token").toString();}catch (Exception e) {return resp;}}/*** @Title:创建微信发送请求post数据* touser发送消息接收者    ,msgtype消息类型(文本/图片等),* application_id应用编号。* 本方法适用于text型微信消息,contentKey和contentValue只能组一对* @return String*/public String createpostdata(String touser, String msgtype,int application_id, String contentKey ,String contentValue) {WeChatData wcd = new WeChatData();wcd.setTouser(touser);wcd.setAgentid(application_id);wcd.setMsgtype(msgtype);Map<Object, Object> content = new HashMap<Object, Object>();content.put(contentKey,contentValue);wcd.setText(content);return gson.toJson(wcd);}/*** @Title:创建微信发送请求post数据* touser发送消息接收者    ,msgtype消息类型(文本/图片等),* application_id应用编号。* 本方法适用于text型微信消息,contentKey和contentValue只能组一对* @return String*/public String createpostdataForParty(String toparty, String msgtype,int application_id, String contentKey ,String contentValue) {WeChatData wcd = new WeChatData();wcd.setToparty(toparty);wcd.setAgentid(application_id);wcd.setMsgtype(msgtype);Map<Object, Object> content = new HashMap<Object, Object>();content.put(contentKey,contentValue);wcd.setText(content);return gson.toJson(wcd);}/*** @Title  创建微信发送请求post实体* charset消息编码    ,contentType消息体内容类型,* url微信消息发送请求地址,data为post数据,token鉴权token* @return String*/public String post(String charset, String contentType, String url,String data,String token) throws IOException {CloseableHttpClient httpclient = HttpClients.createDefault();httpPost = new HttpPost(url+token);httpPost.setHeader(CONTENT_TYPE, contentType);httpPost.setEntity(new StringEntity(data, charset));CloseableHttpResponse response = httpclient.execute(httpPost);String resp;try {HttpEntity entity = response.getEntity();resp = EntityUtils.toString(entity, charset);EntityUtils.consume(entity);} finally {response.close();}LoggerFactory.getLogger(getClass()).info("call [{}], param:{}, resp:{}", url, data, resp);return resp;}}
package com.jingmai.video.live.messagecenter.utils;import java.io.IOException;/*** @ClassName WeChatUrlData* @Description* @Author lyf* @Date 2022/2/15 15:21**/
public class WeChatUrlData {/***  企业Id*/private String corpid;/*** secret管理组的凭证密钥*/private String corpsecret;/*** 获取ToKen的请求*/private String Get_Token_Url;/*** 发送消息的请求*/private String SendMessage_Url;public String getCorpid() {return corpid;}public void setCorpid(String corpid) {this. corpid = corpid;}public String getCorpsecret() {return corpsecret;}public void setCorpsecret(String corpsecret) {this. corpsecret = corpsecret;}public void setGet_Token_Url(String corpid,String corpsecret) {this. Get_Token_Url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid="+corpid+ "&corpsecret="+corpsecret;System.out.printf(Get_Token_Url);}public String getGet_Token_Url() {return Get_Token_Url;}public String getSendMessage_Url(){SendMessage_Url = "https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=";return SendMessage_Url;}public static void main(String[] args) {WeChatMsgSend swx = new WeChatMsgSend();try {String token = swx.getToken( "XXX1", "XXX2");//给所有人发//String postdata = swx.createpostdata( "@all", "text", XXX3, "content", "开始巡检!");//给单个人发//String postdata = swx.createpostdata( "LiYuanFang", "text", XXX3, "content", "开始巡检!");//给好几个人发,用|分隔//String postdata = swx.createpostdata( "LiYuanFang|lying", "text", XXX3, "content", "开始巡检!");//给部门发String postdata = swx.createpostdataForParty( "XXX4", "text", XXX3, "content", "开始巡检!");String resp = swx.post( "utf-8", WeChatMsgSend. CONTENT_TYPE,( new WeChatUrlData()).getSendMessage_Url(), postdata, token);System. out.println( "获取到的token======>" + token);System. out.println( "请求数据======>" + postdata);System. out.println( "发送微信的响应数据======>" + resp);} catch (IOException e) {e.printStackTrace();}}}

修改WeChatUrlData文件main方法里参数,替换为自己企业的。这里的XXX1是上面的企业ID,XXX2是Secret,XXX3是AgentId,XXX4是部门id

LiYuanFang为账号,可以在成员详情里查看。要记得在应用的可见范围里加上企业微信的成员,他才能收到消息。

这时运行可以在企业微信里收到消息

4.如果想微信也收到代码 ,就在企业微信后台打开我的企业-微信插件,然后用微信扫描并关注二维码。再次发送消息,你的微信就也能收到了。

java调用企业微信接口给微信发消息相关推荐

  1. 关于JAVA调用企业微信审批流程的接口

    关于JAVA调用企业微信审批流程的接口 具体代码在最下面前半部分主要讲配置 第一步获取企业的获取access_token 参数: 1. corpid 公司的id 2. corpsecret 公司用的s ...

  2. java调用企业微信接口发送文件功能

    java调用企业微信接口发送文件功能 代码 结合几位大佬的代码后实现此功能:感谢大佬让我完成此功能的实现,如有侵权,立刻删除. 借鉴文章地址: java调用企业微信接口发送消息https://blog ...

  3. Java调用 新浪微博API 接口发微博(包含js微博组件、springMVC新浪登录)详解

    参考自:http://www.myexception.cn/program/1930025.html https://blog.csdn.net/qq_36580777/article/details ...

  4. delphi 企业微信消息机器人_nodeJS实现企业微信机器人每天定时发消息实例 定时任务...

    nodeJS实现企业微信机器人每天定时发消息实例 背景 由于企业微信办公需要,"每天定时推送某消息用来提醒群里面所有人或者部分人",于是决定用企业微信自带的机器人来实现此功能,来代 ...

  5. python实现微信自动发信息_Python实现企业微信机器人每天定时发消息实例

    1.背景 由于办公需要"每天定时推送某消息用来提醒群里面所有人",于是决定用企业微信自带的机器人来实现此功能.具体方法我来一一讲述. 2.企业微信API 3.想法 想到几种方式: ...

  6. Java调用 新浪微博API 接口发微博,逐项讲解,绝对清晰

    转载自:http://www.myexception.cn/program/1930025.html Java调用 新浪微博API 接口发微博,逐条讲解,绝对清晰 最近要做个课程设计,使用微博控制树莓 ...

  7. Android系统JNI使用(JAVA调用C语言接口)一

    目录 第一篇:Android系统JNI使用(JAVA调用C语言接口)一 什么是JNI JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信主要是 ...

  8. python微信定时发消息_Python开发企业微信机器人每天定时发消息实例

    由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 企 ...

  9. python 每天发一次通知_Python开发企业微信机器人每天定时发消息实例

    由于办公需要"每天定时推送某消息用来提醒群里面所有人",有同事提议用企业微信自带的机器人来实现此功能.我觉得企业微信的这个工具还不错,具体使用方法我来一一讲述. 企业微信API 企 ...

  10. Java调用第三方http接口 单点登录 HttpClient

    Java调用第三方http接口的方式 Java调用第三方接口示范 范例: 响应形式: 主逻辑: 访问此地址:http:// { cas }/cas/login?service=http://local ...

最新文章

  1. 一步一步教你实现iOS音频频谱动画(一)
  2. 使用vue-seamless-scroll自动滚动插件复制出来的数据点击事件无效的解决办法
  3. 眼儿媚·迟迟春日弄轻柔 [宋] 朱淑真
  4. VB根据窗口标题获取应用程序完整路径
  5. 的采样方式_DR803M4水质自动采样器(岸边站自动排空型)
  6. 被知乎反杀,是一种什么体验?
  7. 1-22 在“终端”里,运行“top”命令
  8. JAVA中日期格式格式化
  9. Excel函数公式大全以及用法
  10. android 格式化后关机,Android系统为什么用久了会卡?那格式化还原后还会卡吗?...
  11. 【攻防世界WEB】难度三星9分入门题(上):simple_js、mfw
  12. ZZULIOJ 1138: C语言合法标识符
  13. 【C#】身份证识别(二):提取目标区域图像
  14. 解决IOS微信浏览器底部会出现向前向后返回按钮,返回不刷新的问题
  15. 苹果手机里的照片导入电脑
  16. python改变列的数据类型_更改Pandas中列的数据类型
  17. JavaWeb--RequestResponse
  18. 读书笔记:《The Personal MBA/在家就能读 MBA》
  19. Silverlight概述
  20. Node.js实现网络新闻爬虫及搜索功能(一)

热门文章

  1. 没有自制力的人有什么资格谈努力
  2. 数据结构和算法的区别
  3. 中国AI公司会议室取名简史
  4. 微信推送消息遇到的坑 - 返回error code 40008,并且发送不成功
  5. Pr效果:音频过渡效果
  6. 公众号引流怎么做?怎么样给公众号引流?公众号前期如何涨粉?
  7. itest windows客户端数据库破解
  8. Excel学习日记:L30-制作甘特图
  9. php写登录的视频,PHP cookie实现记录用户登陆信息的方法(图文+视频)
  10. 基础矩阵F和本质矩阵E