1. Vorwort
Vor der Entwicklung müssen wir die offizielle Schnittstellendokumentation lesen. Ich muss mich darüber beschweren, dass die offizielle Dokumentation von WeChat wirklich schlecht ist. Um die Funktionen zu entwickeln, die wir benötigen, müssen wir jedoch auch diese Dokumente lesen.
Adresse des Schnittstellendokuments: http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html
Nachdem ich diese Dokumente gelesen habe, verstehe ich die grundlegende Bedeutung. Wir erstellen das Menü, das wir erstellen möchten, und veröffentlichen es auf dem WeChat-Server Vor dem Senden von JSON-Daten muss eine Authentifizierung durchgeführt werden.
2. Vorbereitung
Schreiben Sie zunächst das Menü, das wir erstellen möchten, in einen TXT-Text:
{ "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" }] }] }
3. Beginnen Sie mit dem Codieren
Zuerst erstellen wir einen allgemeinen Handler createMenu.ashx.
Gleichzeitig müssen wir beim Erstellen eines Menüs mein access_token mitbringen, um unsere Identität zu überprüfen. Das erste, was wir tun müssen, ist, dieses Token über eine Schnittstelle zu erhalten , wir müssen nur unsere Appid- und Secret-Parameter
übergebenWenn Sie den folgenden Code sehen:
{"errcode":0,"errmsg":"ok"}
Das bedeutet, dass Ihr Menü erfolgreich erstellt wurde.
Viertens: 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; } }