微信推送模板信息接口(干货-代码)

这里仅针对推送模板信息进行代码整理~~~


本文分为以下三个部分:

一、申请模板消息权限
二、开发模板消息SDK
三、JAVA代码实现发送模板消息


一、申请模板消息权限

模板消息的申请需微信公众账号已经认证通过。

在微信公众平台的后台,依次进入“功能->添加功能插件->模板消息“,按照下图的红色框步骤,填写相关信息,即可申请,微信官方有审核,静静等待即可。

这里写图片描述

二、开发模板消息SDK

模板消息相关接口介绍:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277

三、JAVA代码实现发送模板消息

1、新建发送信息需要的实体信息
    /** 
     * Description:模板信息Bean
     * @author 
     * @version 1.0
     * <pre>
     * Modification History: 
     * Date         Author      Version     Description 
    ------------------------------------------------------------------
     * 2017年9月21日              1.0        1.0 Version 
     * </pre>
     */
    public class WechatTemplate {

        private String touser ;

        private String template_id;

        private String url;

        private String topcolor ; 

        private Map<String, TemplateData> data;

        //getter setter 省略
    }

    /** 
     * Description:模板信息的每个属性信息
     * @author 
     * @version 1.0
     * <pre>
     * Modification History: 
     * Date         Author      Version     Description 
    ------------------------------------------------------------------
     * 2017年9月21日              1.0        1.0 Version 
     * </pre>
     */
    public class TemplateData {

        private String value ;

        private String color;
    }
2、调用微信发送模板信息的接口
    /**
     * Description: 发送微信模板信息
     * @param
     * @return void
     * @throws Exception 
     * @throws
     * @Author 
     * Create Date: 2017年9月21日 下午3:50:38
     */
    @SuppressWarnings("static-access")
    public void sendTemplateMessage(WechatTemplate wechatTemplate){
        try {
            String access_token = this.getAccessToken();
            String  url=this.SEND_MESSAGE_URL+access_token;
            String para=JSON.toJSONString(wechatTemplate);
            String resultStr=HttpClinetUtil.post(para, url);
            logger.info("返回结果:{}",resultStr);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

针对上面的方法有几点需要说明以及代码补充:

(1)、请求的接口url:这个可以配置文件中,此处仅仅为了方便,直接写成静态常量了。

SEND_MESSAGE_URL=”https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=”;

(2)、 关于 access_token (https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183
此处的access_token是程序保存在redis缓存中的数据,不再赘述。开发兄弟们按照各自项目已有方式获取即可。
(3)、HttpClinetUtil.post(para, url)方法;
    /**
     * 发送模板信息调用的请求方法
     * Description: 
     * @param
     * @return String
     * @throws
     * @Author xuhongwei
     * Create Date: 2017年6月29日 下午2:30:13
     */
    public static String sendWeCharMsg(String json, String url) {
        HttpPost post = new HttpPost(url);
        post.setHeader("Content-Type", "application/json");
        post.addHeader("Authorization", "Basic YWRtaW46");
        String result = "";
        try {
            StringEntity s = new StringEntity(json.toString(), "utf-8");
            s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
            post.setEntity(s);
            // 发送请求
            HttpResponse httpResponse = HttpClients.createDefault().execute(post);
            // 获取响应输入流
            InputStream inStream = httpResponse.getEntity().getContent();
            BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, "utf-8"));
            StringBuilder strber = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null)
                strber.append(line + "\n");
            inStream.close();

            result = strber.toString();
            System.out.println(result);

            if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
                logger.info("请求服务器成功,做相应处理");
            } else {
                logger.info("请求服务端失败");
            }
        } catch (Exception e) {
            System.out.println("请求异常");
            throw new RuntimeException(e);
        }
        return result;
    }

以上就是微信消息发送的java代码,整理完毕。

另外:我的简书也有篇介绍推送模板消息的:http://www.jianshu.com/p/38d05cbbe33e,简书的比较粗糙。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值