Java:企业微信推送消息到个人和部门
第一步:我们需要组装请求参数,比如下面这种的JSON字符串
这里接收的个人企业微信ID和部门ID是用符号 | 隔开的
{"touser" : "UserID1|UserID2|UserID3","toparty" : "PartyID1|PartyID2","totag" : "TagID1 | TagID2","msgtype" : "text","agentid" : 1,"text" : {"content" : "你的快递已到,请携带工卡前往邮件中心领取。\n出发前可查看<a href=\"http://work.weixin.qq.com\">邮件中心视频实况</a>,聪明避开排队。"},"safe":0,"enable_id_trans": 0,"enable_duplicate_check": 0
}
每个字段的含义可以去官网看下
https://work.weixin.qq.com/api/doc/90000/90135/90236#%E6%96%87%E6%9C%AC%E6%B6%88%E6%81%AF
第二部:发送请求,解析响应结果
getAccessToken()和tokenMap请看上一篇文章
https://blog.csdn.net/xujiangdong1992/article/details/104658225
public JSONObject sendMessage(String jsonMessage){if(tokenMap.get(TOKENKEY) == null){getAccessToken();}String url = send_msg_url.replace("{accessToken}",tokenMap.get(TOKENKEY).getAccessToken());logger.info("企业微信消息发送url:"+url);JSONObject jsonObject = HttpsUtil.httpsRequest(url, "POST",jsonMessage);logger.info("企业微信消息发送返回结果:"+jsonObject);//错误消息处理if (null != jsonObject) {int errcode = jsonObject.getInteger("errcode");if (0 == errcode) {//批量发送推送消息时,可能存在部分用户发送消息成功,部分用户userid不合法的情况if(!"".equals(jsonObject.getString("invaliduser"))){logger.warn("发送企业微信消息成功,部分用户userId不合法,不合法的userId = " + jsonObject.getString("invaliduser"));}else {logger.info("发送企业微信消息成功:" + JSON.toJSON(message).toString());}}else {//如果是由于token失效,重新获取tokenif(40014 == errcode || 41001 == errcode || 42001 == errcode){//先锁tokenMap,再替换新的tokensynchronized (tokenMap){//首先删除过期的tokentokenMap.remove(TOKENKEY);AccessToken token = getAccessToken();//替换新的tokentokenMap.put(TOKENKEY, token);//重新发送消息sendMessage(message);}}else {logger.info("发送企业微信消息失败 errcode:"+jsonObject.getInteger("errcode")+",errmsg:"+jsonObject.getString("errmsg"));throw new BusinessException("发送企业微信消息失败 errcode:"+jsonObject.getInteger("errcode")+",errmsg:"+jsonObject.getString("errmsg"));}}}else {logger.info("请求发送企业微信消息返回为空,requestUrl =" + url);throw new BusinessException("请求发送企业微信消息返回为空,requestUrl =" + url);}return jsonObject;}
Java:企业微信推送消息到个人和部门相关推荐
- java 通过企业微信推送消息
首先我们要知道企业微信推送消息的步骤,企业微信官方提供了多个API供我们调用,这里我们只讲我们需要的API: 企业微信的官方开放的API地址:https://work.weixin.qq.com/ap ...
- sqlserver 调用接口往企业微信推送消息
其实解决问题的方法有很多,对于定时推送的功能来说,.net和java 都有自己的定时功能,但对于这些不熟悉,只熟悉sqlserver 的人来说,肯定希望从sqlserver下手.于是,我就尝试做了下, ...
- 插件实现了钉钉和企业微信推送消息
项目需要开发一个消息推送插件,今天整理一下做一个记录. 消息推送插件实现了钉钉和企业微信推送消息的功能. 首先介绍的是钉钉的实现方式: 1.需要在钉钉后台创建一个应用,并且需要记录下agentId.a ...
- 企业微信推送消息延迟_通过企业微信发送提醒消息 支持markdown
师太大佬: 最近一直在使用方糖推送,看到LOC大佬的企业微信推送感觉NB,隧稍作修改发上来分享给大家食用~ LOC大佬的GITHUB:https://github.com/kaixin1995/Inf ...
- 企业微信推送消息延迟_iPhone手机微信推送消息总是延迟怎么办?
在有些时候我们的苹果手机屏幕页面总是有微信消失提示,但是我们打开微信页面刷新很久也看不到相应的消息记录,让我们总是没有办法及时回复一些好友消息.如果是一些工作上的关键信息就很麻烦了,毕竟现在微信已经深 ...
- 持续集成之企业微信通知:5:在Jenkins中向企业微信推送消息
在这篇文章中结合具体的示例来介绍在Jenkins中如何向企业微信群推送消息. 环境准备 这里使用Easypack的Jenkins 2.164.3来创建验证用的Jenkins环境.使用如下步骤即可完成. ...
- 企业微信推送消息延迟_一种基于企业微信的消息推送方法与流程
本发明涉及消息推送技术领域,特别涉及一种基于企业微信的消息推送方法. 背景技术: 随着微信公众号的普及,微信企业号也越来越受到人们的关注.而腾讯公司在微信企业号的基础上又进行了进一步的升级,提供了类似 ...
- 企业微信推送消息延迟_企业微信发送应用消息,员工无法接收到推送消息。
请求消息体:[touser=18666211235,toparty=,totag=,agentid=1000040,msgtype=text,content=,media_id=,title=,des ...
- 驰骋工作流JFLOW版本企业微信推送消息总结
简介:jflow的推送消息,简单地记录一下,并不是很详细,这里以企业微信的消息推送消息为例,钉钉与其差不多. 1.推送企业微信节点消息前台页面配置:节点属性>节点消息 Jflow.propert ...
最新文章
- 学php还是日语,如何使用PHP检查该词是日语还是英文
- python中字典按键或键值排序
- pandas 读csv 报错 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 0: invalid cont
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1082:求小数的某一位
- 群晖pxe安装windows_通过PXE快速部署VMware ESXi 6.5
- 多媒体表示、描述、编码以及通信的相关规定和标准课程总结
- 全国计算机等级考试题库二级C操作题100套(第71套)
- 域名实名认证多长时间_域名如何选择有利于网站优化?
- 曝光!中国知名互联网公司背后的风投
- VMware虚拟机启动错误(正在被占用、内部错误)等问题
- mip-html自动跳转页面,MIP建站系统常见问题汇总
- 在每一个时光寻找,寻找适合我的孤岛。
- linux修改文档拥有人为,Linux系统修复
- 阿里云对腾讯企业邮箱设置域名解析
- Git配置远程仓库(密匙链接)
- Java中length、length()、size()区别
- Synchronized解析——如果你愿意一层一层剥开我的心
- ISO、光圈、曝光、焦距
- Google Maps Android API V2 开发
- 理论——RNN(循环神经网络)与LSTM(长短期记忆神经网络)