• C# 微信公众平台开发(4)-- 模版消息


    微信公众平台开发 --发送模版消息

    发送模版消息是微信服务号给某个用户发送模版消息,类似于APP的推送通知;

    1、添加模版消息

       在页面的左上 有一个添加功能插件的 按钮,如题

        

           添加完成后,我们就可以在左边的菜单栏看到 相应的信息了;

    2、添加模版消息

        

       详情里面有关模版的介绍,和发送短信需要传送的数据;

    3、发送模版消息

      

      

    接口调用请求说明
    http请求方式: POST https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN
    会根据ACCESS_TOKEN来请求数据
    请求数据格式:
      
     {
               "touser":"OPENID",
               "template_id":"ngqIpbwh8bUfcSsECmogfXcV14J0tQlEpBO27izEYtY",
               "url":"http://weixin.qq.com/download",            
               "data":{
                       "first": {
                           "value":"恭喜你购买成功!",
                           "color":"#173177"
                       },
                       "keynote1":{
                           "value":"巧克力",
                           "color":"#173177"
                       },
                       "keynote2": {
                           "value":"39.8元",
                           "color":"#173177"
                       },
                       "keynote3": {
                           "value":"2014年9月22日",
                           "color":"#173177"
                       },
                       "remark":{
                           "value":"欢迎再次购买!",
                           "color":"#173177"
                       }
               }
           }
    View Code

    在调用模板消息接口后,会返回JSON数据包。正常时的返回JSON数据包示例:

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

    官网上的例子;
    个人
    /// <summary>
            /// 发送模版消息,
            /// </summary>
            /// <param name="openId">关注微信号《FromUserName》</param>
            /// <returns></returns>
            [HttpPost]
            public ActionResult SendMsg(string openId)
            {
                ///获取token
                string accesstoken = AccessToken.GetAccessToken(AppID, AppSecret);
    
                ///发送模版消息
                string url = string.Format("https://api.weixin.qq.com/cgi-bin/message/template/send?access_token={0}", accesstoken);
                string postData = "{ "touser":"" + openId + "","template_id":"kJxuPYYN5z915G0qtxec5fkohEVcXgw0aLfQ1PUoJhU","url":"http://www.woizuqiu.com/Home/Index", "data":{"first":{"value":"亲,宝贝已经启程了,好想快点来到你身边!","color":"#173177"},"keynote1":{"value":"201408189987","color":"#173177"},"keynote2":{"value":"圆通快递","color":"#173177"},"keynote3":{"value":"6522238281","color":"#173177"},"remark":{"value":"点击查看完整的物流信息 。如有问题请致电XXX或直接在微信里留言,XXX将在第一时间为您服务!!","color":"#173177"}} }";
    
                string strPostData = "{ "touser":"" + openId + "","template_id":"LNinaAoWW12OtI41wXo2MWfC4uey2CfYjaQSIdDAm0g","url":"http://www.woizuqiu.com/Home/Index", "data":{"channel":{"value":"微信","color":"#173177"},"orderNumber":{"value":"113234","color":"#173177"},"state":{"value":"进入收单状态","color":"#173177"},"doSomething":{"value":"kantzou将在今天下午三点上门收件","color":"#173177"},"remark":{"value":"谢谢您的支持!","color":"#173177"}}}";
    
                string strJson = HttpPostData(url, strPostData);
    
                return View();
            }
    
            /// <summary>
            /// Post请求
            /// </summary>
            /// <param name="posturl">URL</param>
            /// <param name="postData">请求数据</param>
            /// <returns></returns>
            public string HttpPostData(string posturl, string postData)
            {
                Stream outstream = null;
                Stream instream = null;
                StreamReader sr = null;
                HttpWebResponse response = null;
                HttpWebRequest request = null;
                Encoding encoding = Encoding.UTF8;
                byte[] data = encoding.GetBytes(postData);
                // 准备请求...
                try
                {
                    // 设置参数
                    request = WebRequest.Create(posturl) as HttpWebRequest;
                    CookieContainer cookieContainer = new CookieContainer();
                    request.CookieContainer = cookieContainer;
                    request.AllowAutoRedirect = true;
                    request.Method = "POST";
                    request.ContentType = "application/x-www-form-urlencoded";
                    request.ContentLength = data.Length;
                    outstream = request.GetRequestStream();
                    outstream.Write(data, 0, data.Length);
                    outstream.Close();
                    //发送请求并获取相应回应数据
                    response = request.GetResponse() as HttpWebResponse;
                    //直到request.GetResponse()程序才开始向目标网页发送Post请求
                    instream = response.GetResponseStream();
                    sr = new StreamReader(instream, encoding);
                    //返回结果网页(html)代码
                    string content = sr.ReadToEnd();
                    string err = string.Empty;
                    Response.Write(content);
                    return content;
                }
                catch (Exception ex)
                {
                    string err = ex.Message;
                    return string.Empty;
                }
            }

    OK 消息可以发送了;

  • 相关阅读:
    Http学习(一)
    Android Studio 创建aar包与引用
    C语言模块化编译介绍
    程序结构和分支语句介绍
    数据类型、常量、变量、printf、scanf和运算符
    第一个C语言程序
    Xcode相关整理
    Java: IO 学习小结
    Java: RandomAccessFile
    Java: IO 字符流
  • 原文地址:https://www.cnblogs.com/amoshu/p/4988365.html
Copyright © 2020-2023  润新知