利用Java实现微信公众号发送信息提醒通知
项目场景:
项目场景:利用Java实现微信公众号发送信息提醒通知!
Java实现方法:
1.首先创建实现公众号消息发送的方法:
public ReturnDO<String> sendTempMsg(WxMessage wxMessage) {ReturnDO<String> returnDO = new ReturnDO<>();try {/**发送Https请求到微信*//**WeiXinConstant.sendTempMsgUrl(微信模板消息接口)*/String url = String.format(WeiXinConstant.sendTempMsgUrl, wxMessage.getAccessToken());JSONObject json = new JSONObject();json.accumulate("touser", wxMessage.getOpenID());json.accumulate("template_id", wxMessage.getTemplateID());json.accumulate("url", wxMessage.getUrl());json.accumulate("data", wxMessage.getData());System.err.println("sendTempMsg-postJson:" + json);String retMsg = StarkHttpClient.submitHttps(url, json.toString());System.err.println("sendTempMsg-retMsg" + retMsg);JSONObject resultJson = JSONObject.fromObject(retMsg);/**在返回结果中获取地址信息*/Integer errCode = resultJson.getInt("errcode");if (errCode == 0) {returnDO.setObj(resultJson.getString("msgid"));} else {returnDO.setErrorMsg("3001", "发送模板消息失败");}} catch (Exception e) {System.err.println("发送模板消息发生异常,参数:" + JsonUtil.toJson(wxMessage));returnDO.setErrorMsg("9999", "发送模板消息发生异常,参数:" + JsonUtil.toJson(wxMessage));}return returnDO;}
2.组装需要发送的消息模板:
//发送会议变更消息WxMessage wxMessage = new WxMessage();wxMessage.setId(UUID.randomUUID().toString());wxMessage.setCreateTime(new Date());
//根据具体模板参数组装TreeMap<String, TreeMap<String, String>> params = getTempMsg1(meetingReserveVO);wxMessage.setData(JsonUtil.toJson(params));
//获取公众号的信息WxPublic wxPublic = weiXinDao.getWxPublic(WeiXinConstant.appID);wxMessage.setOpenID(userInfoVO.getOpenId());wxMessage.setAccessToken(wxPublic.getAccessToken());
//获取公众号消息模板IDwxMessage.setTemplateID(WeiXinConstant.templateID1);weiXinUtilService.sendTempMsg(wxMessage);
3.编辑模板信息的具体内容
TreeMap<String, TreeMap<String, String>> getTempMsg1(MeetingReserveVO vo){TreeMap<String, TreeMap<String, String>> params = new TreeMap<>();try{params.put("first", WeiXinUtilService.setMap("您好,您有一个消息提醒。\n","#ff0000"));params.put("keyword1",WeiXinUtilService.setMap(vo.getMeetingSubject(),"#0066ff"));params.put("keyword2",WeiXinUtilService.setMap(vo.getBeginTime(),"#0066ff"));params.put("keyword2",WeiXinUtilService.setMap(vo.getEndTime(),"#0066ff"));params.put("remark",WeiXinUtilService.setMap("请安排好时间及时参加。","#000000"));}catch (Exception e){logger.error("拼装微信模板消息发生异常!", e);}return params;}
公众号授权管理:
想要获取公众号的模板消息ID,需要拥有公众号的管理授权。
1.首先需要找到公众号的模板消息功能菜单,没有的话,需要预先申请。
2.在模板消息菜单下,找到模板库,搜寻自己需要的模板,添加到自己的模板。
获取到模板Id,以及模板的详细内容格式,就可以在Java中实现公众号消息发送。
利用Java实现微信公众号发送信息提醒通知相关推荐
- java向微信公众号---发送模板和图文消息
微信公众号初次开发 其他操作 项目搭建 maven application.yml yml参数配置 微信客户端配置 搭建完成 实现业务 模板消息推送 准备工作 模板消息填写要求 图文消息填写要求 推送 ...
- 通过java实现微信公众号发送微信消息
(感谢好多老哥提供的文档,哈哈,这里我就只是代码贴出来,方便以后copy) 1获取token String token = Wechat.getAccess_token(appId, appSecre ...
- (Java)微信公众号发送模板消息
模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息. 1.模板消息调用时主要 ...
- java端微信公众号发送模板信息乱码解决
jdk1.8 windows环境,tomcat下,发送模板信息乱码 项目采用httpclient发送请求 解决方案 StringEntity s = new StringEntity(jsonStr, ...
- thinkphp 6.x 利用 easywechat获取微信公众号粉丝信息
我使用的是php 7.2 1.安装 easywechat 参考:https://www.easywechat.com/docs/4.x/installation cmd导航到网站目录: cd D:\p ...
- Java实现微信公众号直接发送参数二维码给用户
文章目录 前言 一.参数二维码的作用 二.功能实现 1. 生成带参数二维码 2. 上传二维码图片 3. 发送带参数二维码给用户 总结 前言 公众号开发近些年是一个比较热门的方向,今天为大家讲解的是用J ...
- Java开发微信公众号(四)---微信服务器post消息体的接收及消息的处理
在前几节文章中我们讲述了微信公众号环境的搭建.如何接入微信公众平台.以及微信服务器请求消息,响应消息,事件消息以及工具处理类的封装:接下来我们重点说一下-微信服务器post消息体的接收及消息的处理,这 ...
- Java开发微信公众号(二)---开启开发者模式,接入微信公众平台开发
接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器地址的有效性 3.依据接口文档实现业务逻辑 资料准备: 1.一个可以访问的外网,即80的访问端口,因为微信公众号接 ...
- Java实现微信公众号客服功能和本地联调
Java实现微信公众号客服功能 微信公众平台设置 生产环境 公众号 设置 [开发]–> [基本配置]–> [服务器配置] 注: a.服务器地址(URL) 是开发者用来接收微信消息和事件的接 ...
最新文章
- 有多少种方法能把足球移出边界 Out of Boundary Paths
- python web flask开发框架_零基础入门python web框架Flask开发
- c语言常用二个标准库函数
- 三个值得期待的JavaScript新功能!
- LiveVideoStack线上分享第三季(一):低延迟线上K歌玩法的思考与实践
- Microsoft规划了.NET的未来发展
- Apache发布NetBeans 10.0,增强对JDK 11的支持
- Node起一个web服务器
- jQuery~函数封装记1
- matlab函数_常用于连通区域
- Mendeley Destop引用格式自定义调整
- Unity 编辑器下控制播放粒子
- STM32 4*4矩阵键盘实现原理(附程序)
- Socket(服务器端)通信连接失败解决方法
- 2021年江西省研究生数学建模竞赛题目(二)题目:全国人口普查问题
- /usr/local/bin/zsh没有文件或目录问题
- sre工程师_什么是SRE? 现场可靠性工程师的重要作用
- python json.dumps(output) ^ SyntaxError: invalid syntax
- [听听音乐]吴金黛 音乐有意思 歌单
- CDN边缘智能助力5G
热门文章
- 新西兰做java_新西兰华人的真实生活,真是吓到我了
- 吴恩达 octave
- 为方便大家,我分析导出了些高速下载器捆绑软件的反安装reg,需要的可自行选择
- 数据库访问函数FIND_IN_SET介绍
- TouchDesigner 之 幻影之星
- 想要快速爬取整站图片?速进(附完整代码)
- c++使用ODBC读取EXCEL表格
- C语言实现24点游戏
- 5.2 C语言练习(电报加密:输入一行电报文字,将字母变成其下一字母(如’a’变成’b’……’z’变成’a’其它字符不变)。)
- 大数据技术期末复习习题-前两章 大数据概述及Hadoop概述