公众号模板消息推送

公众号模板消息推送

 

因该功能流程非常简单就不过多的介绍了。直接上代码。

 

1.微信公众号(服务号。订阅号不能作为开发)

这是公众号api公开的接口和参数。需要详细观看api请点击https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277

 //私人定制消息提示
    public static void send() throws  Exception{
        //请求数据
        Map<String,Object> request_data = new HashMap<>();
        //模板id
        String template_id = "EVhgjBtVfA57PWcwmRM3RcFyAcK2GZvPKfGxCIIOAnY";
        //跳转链接url
        String url = "";
        //用户的openid
        String user_openid = "";
   
        String first="";
        String keyword1 = "";
        String keyword2 = "";
        String keyword3 = "";
        String remark  = "";

      
        request_data.put("template_id",template_id);
        request_data.put("url", url);

        Map<String,Object> data = new HashMap<>();
        templateParam(data,"first",first,"#173177");
        templateParam(data,"keyword1",keyword1,"#173177");//用户姓名
        templateParam(data,"keyword2",keyword2,"#173177");//资源名称
        templateParam(data, "keyword3", keyword3, "#173177");//审核结果
        request_data.put("data", data);
        templateParam(data, "remark", remark, "#173177");

        //返回结果信息
        Map<String,Object> send_return = sendTemplateMessage(request_data);

    }
   //开始发送模板消息
    public static Map<String,Object> sendTemplateMessage(Map<String,Object> request_param) throws Exception {
        Map<String,Object> access_token_map = WxOpenUtils.GetWxAccessToken();

        String access_token = (String) access_token_map.get("access_token");
       // String access_token = "5_DEOXR9EUYpu2IgU7v9u5eCulGmnI9KPnX-g7O05LQfckaShEc7WVU-TS6-S8_Hkm_P6oYTlD4W0B-TJjx_tKGUxYkSssvXsMHbqTXfGSY4j4I8rMhEtrVCgknO_K0VgS7nxnkv5LR54mLGC4ODZhAHABQM";

        String url = send_url+access_token;
        Map<String,Object> result = HttpUtils.doPostHttps(url, request_param); //{"errcode":0,"errmsg":"ok","msgid":68036453858394114}
        return  result;
    }

 

### 实现微信小程序向公众号推送模板消息 为了实现从小程序到公众号模板消息推送,整个流程涉及多个环节。首先,在服务器端需准备必要的接口来处理来自前端的请求并调用微信API完成实际的消息发送操作。 #### 准备工作 确保拥有合法的应用凭证(`appid`, `appsecret`),这些信息用于换取访问令牌(`access_token`),这是发起任何微信公众平台HTTP API调用的前提条件[^2]。 #### 获取Access Token 使用应用凭证中的`appid`和`appsecret`通过GET方法请求如下URL以获得`access_token`: ```http https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET ``` 响应数据中会包含一个有效的`access_token`字符串以及过期时间戳。 #### 构建消息体 构建待发送的信息结构,这通常包括接收者OpenID (`touser`)、模板ID (`template_id`)、点击链接后的跳转路径(`url`)或关联的小程序页面(`miniprogram`)以及其他自定义字段如颜色设置等。对于具体的数据部分,则可以参照Spring Boot项目里的`TemplateData`类实例化相应对象填充所需内容[^3]。 ```java // 创建模板数据项 TemplateData first = new TemplateData("尊敬的用户", "#173177"); TemplateData keyword1 = new TemplateData(orderNumber, null); ... Map<String, Object> data = Maps.newHashMap(); data.put("first", first); data.put("keyword1", keyword1); ... ``` #### 发送消息 准备好以上各项之后就可以组装成最终POST请求载荷并向指定URL发出HTTPS POST请求了: ```json { "touser": "OPENID", "template_id": "TEMPLATE_ID", "page": "index", "form_id": "FORM_ID", "data": { ... } } ``` 目标URL为: ```http https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN ``` 成功执行上述步骤后即完成了由微信小程序触发至同主体下的服务号/订阅号的一次模板消息通知过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值