一.前言

.NET微信民众号支付之创设自定蒿菜单,.net公众

一.前言

永利开户送38元体验金,开拓此前,大家须求阅读官方的接口表达文档,不得不作弄一下,微信的这么些官方文书档案真的很烂,不过,为了支付大家需求的效应,大家也不得不去看那么些文书档案.

接口文书档案地址:

看了那几个个文书档案,基本意思精通了,正是我们把我们要创建的美食指南创造好,post到微信的服务器上边,微信服务器然后给我们有的状态码,进而判别大家的菜系是或不是创制成功,只是在出殡和埋葬json数据从前大家要做一些身份验证。

二.图谋干活

第一把我们要开创的菜单写在三个txt文本中:

 {
   "button":[
    {
      "type":"view",
      "name":"付停车费",
      "url":"http://www.baidu.com"

    },{
      "name":"个人中心",
      "sub_button":[
      {  
        "type":"view",
        "name":"个人信息",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"订单查询",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"使用帮助",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"下载APP",
        "url":"http://www.baidu.com"
      }]
    }]
 }

三.起始编码

  首先我们创造三个一般处理程序createMenu.ashx.

复制代码 代码如下:
        public string  access_token { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            FileStream fs1 = new FileStream(Server.MapPath(“.”) +
“\\menu.txt”, FileMode.Open);
            StreamReader sr = new StreamReader(fs1,
Encoding.GetEncoding(“UTF-8”));
            string menu = sr.ReadToEnd();
            sr.Close();
            fs1.Close();
            var str =
GetPage(“”,
“”);
            JObject jo = JObject.Parse(str);
            access_token = jo[“access_token”].ToString();
           
GetPage(“” +
access_token + “”, menu);
        }

  这里须求留神的是appid,secret那些参数需求换来大家患难与共的,这一个参数大家能够放在配置文件中。也得以单独的位于二个扶植类里面。

    
同一时间在创制菜单的时候大家需求带上作者的access_token那些令牌来声明大家的地位,那么大家率先要做的正是收获大家的这一个令牌,这些那个令牌要怎样获得了,我们得以因此贰个接口获取,只要求传递我们的appid和secret那些三个参数

复制代码 代码如下:
{“access_token”:”jVLAT9Rp9dNgxI4pb4RWlSx_9HJLXICmk_uWDlRtAug8wcaWhZZ10eqZCYRZrEwCIJf1-vBhS9YEX00Dj7q__lJCyTIWOxTruOd25opkf-0″,”expires_in”:7200}

  上边的GetPage方法的再次来到值。那样大家就能够收获大家的令牌了。

      最终一步:带上大家的令牌,post大家的json菜单数据就足以成立菜单了。

      当您看来如下代码:

{“errcode”:0,”errmsg”:”ok”}
  表明你的美食做法创形成功了。

四:GetPage

    代码如下:

    public string GetPage(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;
      }
    }

如上所述就是本文的全体内容了,希望我们能够欣赏

一.前言
开垦之前,大家要求阅读官方的接口表达文书档案,不得不嘲笑一下,微信的那一个官方…

付出此前,大家必要阅读官方的接口表明文书档案,不得不嘲弄一下,微信的这么些官方文书档案真的很烂,不过,为了支付大家必要的效果,大家也不得不去看那么些文书档案.

接口文书档案地址:

看了这么些个文档,基本意思了然了,就是我们把我们要创立的菜谱成立好,post到微信的服务器上边,微信服务器然后给大家有个别状态码,进而判别大家的菜系是还是不是创产生功,只是在出殡和埋葬json数据之前我们要做一些身份验证。

二.预备职业

率先把大家要创造的菜单写在一个txt文本中:

 {
   "button":[
    {
      "type":"view",
      "name":"付停车费",
      "url":"http://www.baidu.com"

    },{
      "name":"个人中心",
      "sub_button":[
      {  
        "type":"view",
        "name":"个人信息",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"订单查询",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"使用帮助",
        "url":"http://www.baidu.com"
      },
      {
        "type":"view",
        "name":"下载APP",
        "url":"http://www.baidu.com"
      }]
    }]
 }

三.开端编码

  首先大家创造三个一般管理程序createMenu.ashx.

复制代码 代码如下:

        public string  access_token { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            FileStream fs1 = new FileStream(Server.MapPath(“.”) +
“\\menu.txt”, FileMode.Open);
            StreamReader sr = new StreamReader(fs1,
Encoding.GetEncoding(“UTF-8”));
            string menu = sr.ReadToEnd();
            sr.Close();
            fs1.Close();
            var str =
GetPage(“”,
“”);
            JObject jo = JObject.Parse(str);
            access_token = jo[“access_token”].ToString();
           
GetPage(“=”

  • access_token + “”, menu);
            }

  这里必要注意的是appid,secret那一个参数需求换到大家温馨的,那个参数大家可以投身配置文件中。也足以独立的放在三个赞助类里面。

    
同有的时候间在创制菜单的时候我们必要带上小编的access_token这几个令牌来注解大家的地位,那么大家首先要做的正是赢得大家的那一个令牌,那多少个那么些令牌要什么获取了,我们能够透过贰个接口获取,只必要传递大家的appid和secret那个多个参数

复制代码 代码如下:

{“access_token”:”jVLAT9Rp9dNgxI4pb4RWlSx_9HJLXICmk_uWDlRtAug8wcaWhZZ10eqZCYRZrEwCIJf1-vBhS9YEX00Dj7q__lJCyTIWOxTruOd25opkf-0″,”expires_in”:7200}

  下面的GetPage方法的重回值。那样大家就足以获得大家的令牌了。

      最后一步:带上大家的令牌,post大家的json菜单数据就可以创制菜单了。

      当你见到如下代码:

{“errcode”:0,”errmsg”:”ok”}
  表明您的菜系创变成功了。

四:GetPage

    代码如下:

    public string GetPage(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;
      }
    }

如上所述便是本文的全体内容了,希望我们能够喜欢

你只怕感兴趣的稿子:

  • .NET微信大伙儿号支付之查询自定蒿子单
  • 微信大伙儿号支付(一)怎么着获取用户openId
  • C#落到实处微信公众号群发消息(解决一天只好发二回的界定)实例分享
  • 微信支付PHP
    SDK之微信徒人号支付代码详解
  • 微信民众号支付之微信公共平台新闻回复类实例
  • php达成微教徒人号积极推送音信
  • java微信大伙儿号支付(搭建本地质衡量试情况)
  • java微信公众号支付第一步
    公众号对接和access_token管理
  • C#微教徒人号支付之接收事件推送与消息排重的措施
  • 微信民众号支付之坑:调用支付jsapi贫乏参数
    timeStamp等悖谬解决措施
  • 微信民众号支付
    自定蓬蒿单跳转页面并拿走用户消息实例详解

相关文章