首页 >

.NET微信公众号开发之创建自定义菜单【javascript】

web前端|js教程.NET微信公众号开发之创建自定义菜单【javascript】
.NET,微信公众号,开发
web前端-js教程
一.前言
winform 日历 源码,vscode禁止访问,ubuntu doc,tomcat运行错误,sqlite3 资源占用,ecshop淘宝采集插件,学前端可以直接学框架吗,爬虫行为是指什么生物,php 嵌套循环,湘乡seo快速排名,产品网站源码 带手机,易语言获取网页,注册码页面模板lzw
开发之前,我们需要阅读官方的接口说明文档,不得不吐槽一下,微信的这个官方文档真的很烂,但是,为了开发我们需要的功能,我们也不得不去看这些文档.
软件发布站源码,vscode配置ionic,ubuntu超级,tomcat命令安装,sqlite查看表格头,wordpress插件打包下载,支持ios8的前端框架,纪实人文百变爬虫箱,php开发oa,淮北seo专业优化,ecshop手机网站开发,网页色流源码,dedecms钢材模板lzw
接口文档地址:http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html
大麦户源码 密码,vscode扩展打不开,ubuntu 流量悬浮,tomcat配置域名图文,爬虫之路,php获取地区,佛山长沙seo优化收费,库存共享网站源码,手机响应式网站开发模板之家lzw
看了这些个文档,基本意思明白了,就是我们把我们要创建的菜单创建好,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("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxd811f5114e3e56f3&secret=76eb33f66129692da16d148cb3c024f1", "");
JObject jo = JObject.Parse(str);
access_token = jo["access_token"].ToString();
GetPage("https://api.weixin.qq.com/cgi-bin/menu/create?access_token=" + 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微信公众号开发之创建自定义菜单【javascript】
  • 如何对微信公众号基本配置
  • 如何对微信公众号基本配置 | 如何对微信公众号基本配置 ...

    .NET微信公众号开发之创建自定义菜单【javascript】
  • php版微信公众号接口实现发红包办法
  • php版微信公众号接口实现发红包办法 | php版微信公众号接口实现发红包办法 ...

    .NET微信公众号开发之创建自定义菜单【javascript】
  • 如何采集微信公众号历史消息页的详解
  • 如何采集微信公众号历史消息页的详解 | 如何采集微信公众号历史消息页的详解 ...