发送微信小程序消息

                                                                                  发送微信小程序消息

一、需要得到用户的数据:

   1. 用户微信的唯一标识: oppenId

   2. 判断用户使用的是哪种类型的手机,苹果和安卓使用的formId是不一样的,不能混用

   3.  记录用户在小程序点击按钮的formId,formId七天后会过期,如使用过期的formId发送消息,会提示:formId不可用

二、 获取Token

  调用微信小程序开发文档中的接口,获取access_token,有效期为2个小时,使用的时候需要注意调用的次数每日是有限制的

 调用access_token次数:

       体验版: 每日限制次数为200次

       正式环境:每日限制次数为2000次

三、发送消息

    注意:小程序需要配置消息模板,体验版与正式环境的模板id一致  

   接口地址:https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=调用获取access_token接口

 

参数详解:

    access_token :接口调用凭证,需要调用接口获取

    touser : 接收者(用户)的 openid  --- 需要用户在登录小程序的时候授权获得

    template_id : 发送的消息模板id --- 不区分体验版还是正式环境

    page  : 点击模板卡片后的跳转页面,仅限本小程序内的页面。支持带参数,(示例index?foo=bar)不填则模板无跳转。

    form_id :表单提交场景下,为 submit 事件带上的 formId;支付场景下,为本次支付的 prepay_id  --- 需要收集多个formId

    data :  模板内容   ---  里面的字段是自己配置的  格式: json串

    emphasis_keyword :模板需要放大的关键词,不填则默认无放大

 

请求参数示例:

     /*** 获取access_token*/private String getAccess_Token() {String APPID = "小程序唯一凭证,即APPID";String SECRET = "小程序唯一凭证密钥,即AppSecret";String access_token = "";String post = HttpUtil.doGet("https://api.weixin.qq.com/cgi-bin/token?appid=" + APPID + "&secret=" + SECRET + "&grant_type=client_credential");JSONObject jsonObject = (JSONObject) JSON.parse(post);access_token = (String) jsonObject.get("access_token");System.out.println("access_token==" + access_token);return access_token;}/*** 推送微信小程序消息*/private String sendWXTemplateMsg(JSONObject data, String formId, String openId, String templateId, String page, String token) {JSONObject param = new JSONObject();param.put("touser", openId);param.put("template_id", templateId);param.put("page", page);param.put("form_id", formId);// 模板信息if (data != null) {param.put("data", data);}String doPost = HttpUtil.doPost("https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=" + token, param.toJSONString());
//        String post = HttpKit.post(, json);System.out.println("doPost==" + doPost);return doPost;}

返回示例:

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

 

返回的错误码:

0 :  推送成功

40037 :template_id不正确

41028 :form_id不正确,或者过期  ---  遇到的次数最多

41029 :form_id已被使用   --- 用过后要即时删除,避免发生此错误

41030 :page不正确   ---  点击消息跳转的页面地址

45009 :接口调用超过限额(目前默认每个帐号日调用限额为100万)     

 

官方地址:

获取token: https://developers.weixin.qq.com/miniprogram/dev/api-backend/getAccessToken.html

发送消息:https://developers.weixin.qq.com/miniprogram/dev/api-backend/sendTemplateMessage.html

 

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部