1. 서문
개발하기 전에 공식 인터페이스 문서를 읽어야 합니다. 위챗의 공식 문서가 정말 형편없다고 불평해야 하지만, 필요한 기능을 개발하려면 이 문서도 읽어야 합니다.
인터페이스 문서 주소: http://mp.weixin.qq.com/wiki/13/43de8269be54a0a6f64413e4dfa94f39.html
이 문서를 읽은 후에는 우리가 만들고 싶은 메뉴를 만들고 이를 WeChat 서버에 게시하면 메뉴가 성공적으로 생성되었는지 확인하기 위해 몇 가지 상태 코드를 제공합니다. JSON 데이터를 보내기 전에 몇 가지 인증을 수행해야 합니다.
2. 준비
먼저 만들고 싶은 메뉴를 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" }] }] }
3.코딩을 시작하세요
먼저 일반 핸들러 createMenu.ashx를 생성합니다.
여기서 주목해야 할 점은 appid 및 secret 매개변수를 우리의 매개변수로 바꿔야 한다는 것입니다. 이러한 매개변수를 구성 파일에 넣을 수 있습니다. 도우미 클래스에 별도로 배치할 수도 있습니다.
동시에 메뉴를 만들 때 신원을 확인하기 위해 내 access_token을 가져와야 합니다. 따라서 가장 먼저 해야 할 일은 인터페이스를 통해 토큰을 얻는 것입니다. , appid 및 secret 매개변수만 전달하면 됩니다
위 GetPage 메서드의 반환 값입니다. 그래서 우리는 토큰을 얻을 수 있습니다.
마지막 단계: 토큰을 가져오고 json 메뉴 데이터를 게시하여 메뉴를 만듭니다.
다음 코드가 표시되는 경우:
{"errcode":0,"errmsg":"확인"}
이는 메뉴가 성공적으로 생성되었음을 의미합니다.
4: 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; } }
위 내용은 이 글의 전체 내용입니다. 모두 마음에 드셨으면 좋겠습니다