微信公众号 模板消息 定时推送 java

前提:业务需要,要做一个关于月报的微信消息推送。即每个月定时自动发送一条消息 给关注 公众号的人

用的是 公众号的测试账号(实际开发需要认证的公众号)

微信官网的 模板消息接口规则:

1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;3、在所选择行业的模板库中选用已有的模板进行调用;4、每个账号可以同时使用25个模板。5、当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。

注意点:
1、模板消息调用时主要需要模板ID和模板中各参数的赋值内容;2、模板中参数内容必须以".DATA"结尾,否则视为保留字;3、模板保留符号"{{ }}"。

我说下 大致思路:首先 根据 appid,appsecret 去调用 "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid="+APPID+"&secret="+APPSecret;返回 accessToken,这个accessToken是以后我们获取的凭证。 其次:获取所有关注人的openid 去调用 "https://api.weixin.qq.com/cgi-bin/user/get?access_token="+accessToken+"&next_openid="+next_openid;返回所有用户的openid(注意是数组)最后:向每一个openid的用户发消息咯 调用的接口:"https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+accessToken;注意:这里有post数据,官网有详细说明(json格式,其实是你的传入参数){
           "touser":"OPENID",           "template_id":"tamplate_id,           "url":"你需要跳转你服务器的地址",             "data":{                   "first": {                       "value":"亲爱的童鞋,你好!",                       "color":"#173177"                   },                   "remark":{                       "value":"上月月报已到达,请查收!",                       "color":"#173177"                   }           }       }

在测试的公众号 有自己的 appid,appsecret,  有关注公众号的所有人的openid,还要建立自己的一个消息模板


如何连微信服务器:代码如下:(前面讲的获取acceToken,openid都是调用此方法获取的得到)//MSG为:上面post的数据

public JSONObject HTTPURLUtil(String url,String MSG) {

URL urlGet = null;
JSONObject object = null;

try {
urlGet = new URL(url);
HttpURLConnection http = (HttpURLConnection) urlGet.openConnection();
http.setRequestMethod("GET"); //必须get方式请求
http.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
http.setDoOutput(true);
http.setDoInput(true);
System.setProperty("sun.net.client.defaultConnectTimeout", "30000");// 连接超时30秒
System.setProperty("sun.net.client.defaultReadTimeout", "30000"); // 读取超时30秒
http.connect();

OutputStream os =null;

if(!MSG.equals("") ) { //写消息数据
os = http.getOutputStream();
os.write(MSG.getBytes("UTF-8")); //传入参数
}

InputStream is = http.getInputStream();
int size = is.available();
byte[] jsonBytes = new byte[ size ];
is.read(jsonBytes);
String message = new String(jsonBytes, "UTF-8");
object = JSONObject.parseObject(message);

//关闭流
if(!MSG.equals("")) {
os.flush();
os.close();
}
is.close();

} catch (Exception e) {
e.printStackTrace();
}

return object;
}

可以去微信官网查看返回json对象的参数来查看是否成功

最后 给出 测试成功 的截图:

点击详情:查看月报:(这里的地址为 post 数据里面url参数的地址  需要你自己有服务器,或者有端口映射 )

这里涉及公司的 保密 暂时不放源码,如需要,请联系我 微信号:wxb909355285  共同交流

原文地址:https://www.cnblogs.com/xuanbo/p/9057442.html

时间: 2024-10-08 16:49:09

微信公众号 模板消息 定时推送 java的相关文章

asp群发微信公众号模板消息代码

刚刚做的一个项目需要用到asp群发微信公众号的模板消息, 以前没做过,想了一会用了下面这种方法实现的模板消息群发推送,效果很好. 原文地址:https://www.cnblogs.com/yjed/p/10843634.html

Java对接微信公众号模板消息推送

内容有点多,请耐心! 最近公司的有这个业务需求,又很凑巧让我来完成: 首先想要对接,先要一个公众号,再就是开发文档了:https://developers.weixin.qq.com/doc/offiaccount/Getting_Started/Overview.html 不过请注意这一点 ok,我们继续:再来完成公众号的基本配置: 服务器地址(URL):必须以http://或https://开头,分别支持80端口和443端口.这个URL是很重要的,需要响应微信发送的token验证 令牌(To

微信公众号如何一天能推送多条图文消息

微信公众号推送多条图文消息,可以在关注回复,扫描二维码回复,群发消息里实现,其他场景均不能推送多条图文消息,微信早已禁用了部分场景功能的多图文消息使用.www.weihaobang.com/product?id=70&fm=fang 微号帮功能有关注回复.扫描二维码回复,群发消息,可以向粉丝推送多条图文消息,主要介绍扫描二维码回复多图文消息,二维码带统计关注粉丝来源,粉丝通过这个二维码关注都能统计到,粉丝取消也能监测到. 渠道二维码生成 使用渠道二维码生成功能,创建扫描回复多图文消息,选择修改粉

微信公众号模板消息开发小结

总结: 遇到的坑: ①要想调用微信的模版消息,我们就需要获取该用户关注的这个公众号openId, 要获取openId就要获取进入时候的code参数,code参数通过一个链接获取.那么我们在进入公众号后的时候就需要回调这个链接,然后获取到openId. 这里回调里面有一个redirect_uri参数,这个是回调的URL编码后的值.我们既然要回调,就需要在公众号管理端将回调域名设置为我们请求的域名(注意域名一个月只能修改三次). ②在调用微信获取code的链接时,不能是ajax请求,否则回调将无法完

C#开发微信门户及应用(27)-公众号模板消息管理

通过模板消息接口,公众号能向关注其账号的用户发送预设模板的消息.模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等.不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息.本文主要介绍基于C#开发实现公众号模板消息的管理功能. “模板消息功能的推出,将极大地增强服务号的服务通知能力”,在一些一直期待微信模板消息功能开放的公众号运营者看来,微信一对一沟通的社交属性,让信息推送的触达率更加精准,这也让企业在成本.服务效率.性能上有了

微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化

微信服务号模板消息可以向用户发送重要的服务通知,如信用卡刷卡通知,商品购买成功通知等.昨日,微信团队发布公告称模板消息新增“设置行业”和“添加模板”接口及细节优化,详细变动如下 模板消息[业务通知]自2014年8月27日向认证服务号开放后使用效果良好,现做出如下优化: 1. 认证服务号日调用模板消息上限为10w条,当前每个模板的日调用上限为100000次[2014年11月18日将接口调用频率从默认的日10000次提升为日100000次,可在MP登录后的开发者中心查看]: 2. 每条消息长度限制为

公众号模板消息优势有那几点?

鱼塘公众号模板消息优势有那几点? 1.群发消息,不占用服务号规定的每月四次群发次数名额: 2.群发前,可通过标签筛选粉丝,精准触达目标客户: 3.在微信消息列表里显示,非常醒目,第一时间触达客户: 4.支持自定义文字颜色,还可添加跳转链接(图文.视频等). 想要了解鱼塘模板消息的朋友,微信搜索:公众号运营策略关注,即可免费申请体验哦! 原文地址:https://blog.51cto.com/14218567/2428848

主动给用户发消息-微信公众号模版消息

微信公众号模版消息最大的作用就是用户在平台上提交订单或发生其它行为时,平台可以给用户发送简要的交易信息,且公众平台主动给用户发送消息目前最多的就是1.模版消息:2.客服消息. 公众号配置 首先申请一个需要的模版消息   其次,发送模版消息必须要用户的openid,获取教程可参考之前的获取用户信息篇 后台代码 我的模版消息是用来提醒交易状态的,故以网站中以交易业务流程为例 万能调用 //微信通知 $id = get_order_id($out_trade_no);//获取订单的ID $uid =

2014-07-24 .NET实现微信公众号的消息回复与自定义菜单

今天是在吾索实习的第12天.我们在这一天中,基本实现了微信公众号的消息回复与自定义菜单的创建. 首先,是实现消息回复,其关键点如下: 读取POST来的数据流:Stream 数据流变量 = HttpContext.Current.Request.InputStream,并把其存入数组:数据流变量.Read(数组变量, 0, (int)数据流变量.Length) 后,再转换为字符串:string 字符串变量 = Encoding.UTF8.GetString(数组变量) . 在数据流所转换成的字符串