1. Avant-propos
Avant le développement, nous devons lire la documentation officielle de l'interface. Je dois me plaindre du fait que la documentation officielle de WeChat est vraiment mauvaise. Cependant, afin de développer les fonctions dont nous avons besoin, nous devons également lire ces documents.
Adresse du document d'interface : http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.htmlAprès avoir lu ces documents, je comprends le sens fondamental. Nous créons le menu que nous voulons créer et le publions sur le serveur WeChat. Le serveur WeChat nous donne ensuite quelques codes d'état pour déterminer si notre menu est créé avec succès. besoin de faire une authentification avant d'envoyer des données json.
2. Préparation
Écrivez d'abord le menu que nous voulons créer dans un texte 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" }] }] }
Nous créons d'abord un gestionnaire général createMenu.ashx.
En même temps, lors de la création d'un menu, nous devons apporter mon access_token pour vérifier notre identité. La première chose que nous devons donc faire est d'obtenir notre token. Comment obtenir ce token ? , il nous suffit de transmettre nos paramètres appid et secret
La dernière étape : apporter notre token et poster nos données de menu json pour créer le menu.
Lorsque vous voyez le code suivant :
{"errcode":0,"errmsg":"ok"}
Cela signifie que votre menu a été créé avec succès.
Quatre : GetPage
Le code est le suivant :
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; } }