精华内容
下载资源
问答
  • 项目场景:利用Java实现微信公众号发送信息提醒通知! Java实现方法: 1.首先创建实现公众号消息发送的方法: public ReturnDO<String> sendTempMsg(WxMessage wxMessage) { ReturnDO<String> ...

    项目场景:

    项目场景:利用Java实现微信公众号发送信息提醒通知!

    Java实现方法:

    1.首先创建实现公众号消息发送的方法:

    public ReturnDO<String> sendTempMsg(WxMessage wxMessage) {
            ReturnDO<String> returnDO = new ReturnDO<>();
            try {
                /**发送Https请求到微信*/
                /**WeiXinConstant.sendTempMsgUrl(微信模板消息接口)*/
                String url = String.format(WeiXinConstant.sendTempMsgUrl, wxMessage.getAccessToken());
                JSONObject json = new JSONObject();
                json.accumulate("touser", wxMessage.getOpenID());
                json.accumulate("template_id", wxMessage.getTemplateID());
                json.accumulate("url", wxMessage.getUrl());
                json.accumulate("data", wxMessage.getData());
                System.err.println("sendTempMsg-postJson:" + json);
                String retMsg = StarkHttpClient.submitHttps(url, json.toString());
                System.err.println("sendTempMsg-retMsg" + retMsg);
                JSONObject resultJson = JSONObject.fromObject(retMsg);
                /**在返回结果中获取地址信息*/
                Integer errCode = resultJson.getInt("errcode");
                if (errCode == 0) {
                    returnDO.setObj(resultJson.getString("msgid"));
                } else {
                    returnDO.setErrorMsg("3001", "发送模板消息失败");
                }
            } catch (Exception e) {
                System.err.println("发送模板消息发生异常,参数:" + JsonUtil.toJson(wxMessage));
                returnDO.setErrorMsg("9999", "发送模板消息发生异常,参数:" + JsonUtil.toJson(wxMessage));
            }
            return returnDO;
        }
    
    

    2.组装需要发送的消息模板:

    //发送会议变更消息
            WxMessage wxMessage = new WxMessage();
            wxMessage.setId(UUID.randomUUID().toString());
            wxMessage.setCreateTime(new Date());
    //根据具体模板参数组装
            TreeMap<String, TreeMap<String, String>> params = getTempMsg1(meetingReserveVO);
            wxMessage.setData(JsonUtil.toJson(params));
    //获取公众号的信息
            WxPublic wxPublic = weiXinDao.getWxPublic(WeiXinConstant.appID);
            wxMessage.setOpenID(userInfoVO.getOpenId());
            wxMessage.setAccessToken(wxPublic.getAccessToken());
    //获取公众号消息模板ID
            wxMessage.setTemplateID(WeiXinConstant.templateID1);
            weiXinUtilService.sendTempMsg(wxMessage);
    

    3.编辑模板信息的具体内容

    TreeMap<String, TreeMap<String, String>> getTempMsg1(MeetingReserveVO vo){
            TreeMap<String, TreeMap<String, String>> params = new TreeMap<>();
            try{
                params.put("first", WeiXinUtilService.setMap("您好,您有一个消息提醒。\n","#ff0000"));
                params.put("keyword1",WeiXinUtilService.setMap(vo.getMeetingSubject(),"#0066ff"));
                params.put("keyword2",WeiXinUtilService.setMap(vo.getBeginTime(),"#0066ff"));
                params.put("keyword2",WeiXinUtilService.setMap(vo.getEndTime(),"#0066ff"));
                params.put("remark",WeiXinUtilService.setMap("请安排好时间及时参加。","#000000"));
            }catch (Exception e){
                logger.error("拼装微信模板消息发生异常!", e);
            }
            return params;
        }
    

    公众号授权管理:

    想要获取公众号的模板消息ID,需要拥有公众号的管理授权。
    1.首先需要找到公众号的模板消息功能菜单,没有的话,需要预先申请。

    在这里插入图片描述

    2.在模板消息菜单下,找到模板库,搜寻自己需要的模板,添加到自己的模板。
    获取到模板Id,以及模板的详细内容格式,就可以在Java中实现公众号消息发送。

    在这里插入图片描述
    在这里插入图片描述


    展开全文
  • //给微信公众号发送通知 [HttpGet] public string SendWeChatMsg() { string OpenID = ""; //Appid string appid = ""; //secret string secret = ""; if (OpenID != "") .
     //给微信公众号发送通知
            [HttpGet]
            public string SendWeChatMsg()
            {
                string OpenID = "";
                //Appid
                string appid = "";
                //secret
                string secret = "";
                if (OpenID != "")
                {
                    string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appid + "&secret=" + secret + "";
                    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                    request.Method = "GET";
                    request.ContentType = "textml;charset=UTF-8";
                    string jsonData = "";
                    using (HttpWebResponse response1 = (HttpWebResponse)request.GetResponse())
                    {
                        using (StreamReader sr = new StreamReader(response1.GetResponseStream(), Encoding.UTF8))
                        {
                            jsonData = sr.ReadToEnd();
                            sr.Close();
                        }
                        response1.Close();
                    }
                    if (jsonData != "")
                    {
                        string jsonString = jsonData;
                        JObject json = JObject.Parse(jsonString);
                        string access_token = json["access_token"].ToString();
    
                        string str = "https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=" + access_token;
    
                        //json参数,传入对应的值                                                                           
                        string jsonParam = "{\"touser\": \"" + OpenID + "\",\"template_id\": \"\",\"data\": {\"cols1\": { \"value\": \"\"}," +
                            "\"cols2\": { \"value\": \"\"}," +
                              "\"cols3\": { \"value\": \"\"}," +
                                "\"cols4\": { \"value\": \"\"}}}";
    
                        HttpWebRequest requests = (HttpWebRequest)WebRequest.Create(str);
                        requests.Method = "POST";
                        requests.Timeout = 20000;
                        requests.ContentType = "application/json;charset=UTF-8";
                        byte[] byteData = Encoding.UTF8.GetBytes(jsonParam);
                        int length = byteData.Length;
                        requests.ContentLength = length;
    
                        using (Stream writer = requests.GetRequestStream())
                        {
                            writer.Write(byteData, 0, length);
                            writer.Close();
                        }
    
                        string jsonStrings = string.Empty;
                        using (HttpWebResponse responses = (HttpWebResponse)requests.GetResponse())
                        {
                            using (Stream streams = responses.GetResponseStream())
                            {
                                using (StreamReader readers = new StreamReader(streams, System.Text.Encoding.UTF8))
                                {
                                    jsonStrings = readers.ReadToEnd();
                                    responses.Close();
                                    streams.Close();
                                    readers.Close();
                                }
                            }
                        }
                    }
                }
                return "";
            }
    
    展开全文
  • 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。 备注:当前每个账号的...

    A、模板消息发送
    模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等。不支持广告等营销类消息以及其它所有可能对用户造成骚扰的消息。
    备注:当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。【2014年11月18日将接口调用频率从默认的日1万次提升为日10万次,可在MP登录后的开发者中心查看】。当账号粉丝数超过10W/100W/1000W时,模板消息的日调用上限会相应提升,以公众号MP后台开发者中心页面中标明的数字为准。

    B、48小时信息推送
    当用户和公众号产生特定动作的交互时(具体动作列表请见下方说明),微信将会把消息数据推送给开发者,开发者可以在一段时间内(目前修改为48小时)调用客服接口,通过POST一个JSON数据包来发送消息给普通用户。此接口主要用于客服等有人工消息处理环节的功能,方便开发者为用户提供更加优质的服务。

    C、微信公众号标准群发推送
    在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的群发权限。而对于某些具备开发能力的公众号运营者,可以通过高级群发接口,实现更灵活的群发能力。

    #微号帮功能实现
    print("微信公众号怎么推送消息_微信公众号发送消息")
    print("无限制群发、不限次数发送")
    

     

    展开全文
  • 微信公众号可以将消息交给WeixinHandler处理,如果能主动发送通知消息到手机微信就非常方便了,微信公众号的“发送模板消息”接口可以使用
  • 微信公众号发送模板通知

    千次阅读 2019-12-27 10:45:39
    模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等 注意: 1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,...
    • 模板消息仅用于公众号向用户发送重要的服务通知,只能用于符合其要求的服务场景中,如信用卡刷卡通知,商品购买成功通知等
    • 注意:
      • 1、所有服务号都可以在功能->添加功能插件处看到申请模板消息功能的入口,但只有认证后的服务号才可以申请模板消息的使用权限并获得该权限;
        2、需要选择公众账号服务所处的2个行业,每月可更改1次所选行业;
        3、在所选择行业的模板库中选用已有的模板进行调用;
        4、每个账号可以同时使用25个模板。
        5、当前每个账号的模板消息的日调用上限为10万次,单个模板没有特殊限制。
    • 请求接口
      • public interface UrlConfig {
        
        //    微信公众号发送模板消息
            String WxSendMsg="https://api.weixin.qq.com/cgi-bin/message/template/send";
        
        //    微信公众号获取token
            String access_token="https://api.weixin.qq.com/sns/oauth2/access_token";
        //    根据token微信公众号获取用户资料
            String Wxuserinfo="https://api.weixin.qq.com/sns/userinfo";
        }

         

    • 微信公众号发送模板通知,需要用户在公众号进行登录操作,然后获取用户openid
    @GetMapping("/wxLogin")
        public Result wxLogin(String code){
            //获取用户 code
            System.out.println("用户的code是——>" + code);
            //获取用户 token和用户openid
            String token = HttpRequest.sendGet("https://api.weixin.qq.com/sns/oauth2/access_token", "appid=wxaaead59f6f71a6b5&secret=3eaf4939c3df0ad5426e493b406dbf3f&code=" + code + "&grant_type=authorization_code");
    
            JSONObject jsonObject = JSONObject.parseObject(token);
            System.out.println("jsonObject:" + jsonObject);
            Object access_token = jsonObject.get("access_token");
            System.out.println("用户的token是——>" + access_token);
            String openid = (String) jsonObject.get("openid");
            System.out.println("用户的openid是——>" + openid);
            //获取用户userInfo
            String userInfo = HttpRequest.sendGet("https://api.weixin.qq.com/sns/userinfo", "access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN");
            System.out.println(userInfo);
            JSONObject userJSon = JSONObject.parseObject(userInfo);
            System.out.println(userJSon);
            Object nickname = userJSon.get("nickname");
            Object sex = userJSon.get("sex");
            Object unionid = userJSon.get("unionid");
            System.out.println("用户微信名是——>" + nickname);
            System.out.println("用户性别是——>" + sex);
            System.out.println("用户unionid是——>" + unionid);
            return null;
        }
    • 在微信公众平台中,添加模板,这里要记录模板的id,和模板需要传入的参数

    • 进行发送模板
     /**
         *          微信公众号发送模板消息
         * @param touser  接收者id
         * @param template_id  模板id
         * @param url    回调地址
         * @param topcolor  字体样式
         * @param data   发送的内容JSON
         * @return
         */
        public static String wxSendMsg(String touser, String template_id, String url, String topcolor, JSON data){
            net.sf.json.JSONObject json = new net.sf.json.JSONObject();
            json.accumulate("touser",touser);
            json.accumulate("template_id",template_id);
            json.accumulate("url",url);
            json.accumulate("topcolor",topcolor);
            json.accumulate("data",data);
            String msg = json.toString();
            String result = HttpRequest.sendPost(UrlConfig.WxSendMsg, msg);
            System.out.println(result);
            return result;
        }
    • 发送结果
    • 点击模板可以选择跳转到网页或者小程序

    • 如有问题请浏览,一起讨论

    展开全文
  • 微信消息通知,给微信公众号用户发送消息通知 本程序用laravel框架,使用的时候请根据自己的目录结构自行修改命名空间和类名继承等信息
  • 进入微信公众平台在设置菜单中找到公众号设置,进入后设置网页授权对应的域名 获取公众号openid过程 注意: *.2,3步为网页之间的跳转,需要先走微信认证服务器由微信服务器返回至网页,且不能携带参数,网页端通过...
  • 微信公众号主要面向名人、政府、媒体、企业等机构推出的合作推广业务。在这里可以通过微信渠道将品牌推广给上亿的微信用户,减少宣传成本,提高品牌知名度,打造更具影响力的品牌形象。 3. 公众平台 微信公众平...
  • 对于微信公众号, 基于防止对用户发送广告营销等信息骚扰用户, 所以不允许公众号主动发送消息给微信用户的, 但是对于一些特定的模板信息,例如 用户充值提醒, 消费提醒,绑定成功通知等等非广告营销以及非违法信息, 是...
  • 微信公众号消息通知手把手教程

    千次阅读 2020-10-16 16:29:16
    项目需求:微信公众号消息推送 首先你需要我给你提供以下地址 方便你进行开发 准备阶段: a 模版消息推送开发文档 链接 b 微信公众号测试号地址 链接 c 微信公众平台接口调试工具 链接 开发调试阶段 1 查看a...
  • 1. 公众号测试地址 https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index 2. 代码 # pip3 install requests import requests import json def get_access_...
  • 微信公众号通知和服务通知

    万次阅读 2019-01-28 09:00:19
    微信公众号通知和服务通知 详细描述 以下简单对公众号通知和服务做一些总结: 公众号通知: 微信在公众号推送的通知,比较有针对性,无法禁止推送,出发取消关注; 推送权限: 用户必须有交互,包括并不仅限于...
  • 微信公众号消息通知

    2020-09-29 16:15:29
    * 发送微信通知-邮寄 */ public function wxSendNotice($id) { //模板数据 $template_id = config('weixin.sendtemplate_id');//模板id, 微信公众平台获取 $url = config('weixin.url'); //点击消息的跳转...
  • * 标题 账单逾期提醒 详细内容{{first.DATA}} 姓名+性别 账单金额:{{keyword1.DATA}} 本期还款金额 到期时间:{{keyword2.DATA}} 待还的期数 逾期时长:{{keyword3.DATA}} 本期到期时间(规定还款时间) {{remark....
  • 通过java实现微信公众号发送微信消息

    千次阅读 热门讨论 2019-05-10 15:07:18
    //你要发送给某个用户的openid 前提是已关注该公众号,该openid是对应该公众号的,不是普通的openid map.put("template_id", "VkxwzizOa2YS_M2RQbVQHPHzHTbabAqLvqU5FNFqQVs");//模板消息id //map.put("url",...
  • 微信公众号消息订阅准备工作:用户订阅(前端Vue):步骤一:使用微信开放标签wx-open-subscribe开放标签使用步骤步骤二:使用微信开放标签wx-open-subscribe学习时间:学习产出: 准备工作: 1、公众号 功能-添加功能...
  • 1.商品有购买 则通知管理员(可选择) 2.通过PHPQRcode生成扫码绑定管理员 3.扫完码获取信息顺便传个是否应用的参数 流程 1.通过PHPQRcode生成关注公众号二维码 /*分永久和限时详细看文档 * ...
  • 微信公众平台上找到自己的AppID、AppSecret以及要使用的消息模板。 2.代码 1.pom文件引入要使用的maven 微信模版消息推送三方sdk <dependency> <groupId>com.github.binarywang</groupId> &...
  • 写一个可以自动从教务系统获取课程表、在上课前提醒的课程表项目。微信公众号开发,纯后端,拿来练习 Golang .
  • 微信发送模板消息接口文档地址:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1433751277 ...一、微信公众号开发框架 <!-- 微信框架 参考:https://github.com/Wechat-Gr...
  • 微信公众号-给指定用户发送信息 文章目录微信公众号-给指定用户发送信息前言一、开通模板消息二、项目使用步骤1.引入库2.直接上代码controllerservice其他一些封装的类总结 前言 本篇主要讲解微信公众号中,根据...
  • 微信公众号开发技术要点

    万次阅读 多人点赞 2018-07-29 08:22:11
    微信公众号开发技术要点 微信公众号开发技术要点 微信公众号及其接口功能介绍 基本概念 公众号开发者模式 代码验证及图示 Open ID与Union ID 基本概念 使用说明 Access_token 基本介绍 注意事项 获取流程 ...
  • 1. 向微信公众号推算消息的代码很简单,如下所示.但必须先获取以下内容 (1)公众号的APPID,APPSECRET, (2)消息模板templateId. (3)接收消息的用户openid, 对于不同的公众号, 同一个用户的openid不一样. public ...
  • 微信公众号

    2020-08-01 00:56:37
    微信公众号开发 为了识别用户,每个用户针对每个公众号会产生一个安全的OpenID,是微信用户在当前公众号的唯一标识; 如果需要在多公众号、移动应用之间做用户共通,则需前往微信开放平台,将这些公众号和应用绑定...
  • 相信很多朋友都跟笔者有过类似的经验,一上班就不断刷新微信公众号后台看有没有新的粉丝消息进来。这个操作是完全违背人性的,并且周末的时候还得经常打开电脑看看有没有新消息,因为对于我们公司来讲,一个粉丝留言...
  • java实现微信公众号推送消息

    万次阅读 2019-07-09 15:15:40
    微信公众号开发文档 基本信息 AppID:开发者ID,微信公众号的唯一标识 AppSecret:开发者密码,操作微信公众号的验证 IP白名单:获取access_token时,需要IP白名单才可以获取 OpenID:微信用户在当前公众号的唯一...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,208
精华内容 883
关键字:

微信公众号发送通知提醒