我是靠谱客的博主 飞快铅笔,最近开发中收集的这篇文章主要介绍对于刚接触的人必有帮助&—&微信公众号发模板消息,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近刚开发出来的功能需要进行微信公众号联调微信进行测试,给甲方要测试的微信环境,甲方那意思就是只有线上环境,没有测试的,这我心里仿佛有百万只烈马奔腾而过。不过还是得解决测试这个问题嘛,谁让人是甲方呢。唉,研究好多天,终于成功了。特此记录一下,也分享给大家。

首先,在微信公众平台注册一个属于自己的账号,注册得步骤按照提示来就可以,我就不分享了哈。点一下链接就是微信公众平台的官网了。(我这里申请的是订阅号,选择的是个人)
微信公众平台

其次,在这个页面点击公众平台测试账号(由于本人只需要测试数据用,所以这个完全足够),之后会出来一个登陆的页面,用自己的微信扫二维码就可以了。
在这里插入图片描述
之后,就可以看见这个appID和appsecret,这两个参数咱们后期需要用到。在当前页面往下滑会出现一个二维码,如以下第二张图所示,用自己的微信扫描二维码就可以,之后进行关注,在右侧会出现微信的昵称和微信号(也就是openid)。现在咱们还需要搞一个消息模板,还是在当前页面,点击下方新增测试模板,就可以创建自己的想要的消息模板了。
在这里插入图片描述在这里插入图片描述
这是兄弟我创建的模板,还是比较简单的,模板标题可以根据自己喜好进行填写。(请着重看一下请注意)
在这里插入图片描述
之后就可以看到自己创建的模板id了(代码会用到)
在这里插入图片描述
最后一步了,兄弟们,加油!
上代码!


String result1 = "";
String result2 = "";
try {
URL httpclient =new URL("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=&secret=");//这里用到的就是本文提到的appID和appsecret
HttpURLConnection conn =(HttpURLConnection) httpclient.openConnection();
conn.setConnectTimeout(10000);
conn.setReadTimeout(10000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
conn.setDoOutput(true);
conn.setDoInput(true);
PrintWriter printwriter = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
//
printwriter.print();
printwriter.flush();
printwriter.close();
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
for(String s3="";(s3 = bufferedreader.readLine()) !=null;){
result1 = result1+"n"+s3;
}
bufferedreader.close();
} catch (Exception e) {
System.out.println("请求接口异常");
e.printStackTrace();
}
System.out.println("获取到的token为="+ JSONObject.parseObject(result1).get("access_token").toString());
URL httpclient =new URL("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token="+ JSONObject.parseObject(result1).get("access_token").toString());
HttpURLConnection conn =(HttpURLConnection) httpclient.openConnection();
conn.setConnectTimeout(10000);
conn.setReadTimeout(10000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type","/x-wapplicationww-form-urlencoded");
conn.setDoOutput(true);
conn.setDoInput(true);
PrintWriter printwriter = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
//这是本人的数据格式,看的有点凌乱,将就着看吧(有现成的所以直接复制过来了)
printwriter.print("{"touser":"oBl5p5vn8LqNwJxgjmEDLTYmiI3o",n" +
//本文提到的openid
" "template_id":"G-ofFb0qCTgrUFJUn3DHoztlKrL2afxyYGyTbGtOG_c",n" +
//本人提到的模板id 
" "url":"",n" +
" "data":{n" +
//data里面的数据就是刚刚创建的微信模板里面的四个参数,
""keyword1":{"value":"您有新的工单!"},n" +
""keyword2":{"value":"clitsm@e-chinalife.co"},n" +
""remark":{"value":"请访问邮件系统查收"},n" +
""first":{"value":"您好,您有一封邮件提醒"}n" +
"}n" +
"}");
printwriter.flush();
printwriter.close();
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
for(String s3="";(s3 = bufferedreader.readLine()) !=null;){
result2 = result2+"n"+s3;
}
System.out.println("调用微信公众号发送消息给个人的接口返回值="+result2);
bufferedreader.close();

当前返回值为以下示例的时候表明成功了,如果有问题可以查看一下errcode,去找此链接code返回码,里面有详细说明,或者就是就在微信开放文档中查看,贴上链接微信开放文档。

{"errcode":0,"errmsg":"ok","msgid":2010454839830298627}

给大家看一下成果
在这里插入图片描述

最后

以上就是飞快铅笔为你收集整理的对于刚接触的人必有帮助&—&微信公众号发模板消息的全部内容,希望文章能够帮你解决对于刚接触的人必有帮助&—&微信公众号发模板消息所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部