成为了开发者之后微信平台会给您appid和secret,在订阅号中是没有的,所以因该申请一下服务号
有了ACCESSTOKEN才能做添加菜单,上传/下载图片等功能
- private string GetToken()
- {
- // 也可以这样写:
- //return GetPage("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret", "");
- string res = "";
- HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential
- &appid=你的appid&secret=你的secret");
- req.Method = "GET";
- using (WebResponse wr = req.GetResponse())
- {
- HttpWebResponse myResponse = (HttpWebResponse)req.GetResponse();
- StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
- string content = reader.ReadToEnd();
- List<ACCESSTOKEN> myACCESSTOKEN = Json.JSONStringToList<ACCESSTOKEN>(content);
- res = myACCESSTOKEN[0].access_token;
- }
- return res;
- }
- 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;
- return content;
- }
- catch (Exception ex)
- {
- string err = ex.Message;
- Response.Write(err);
- return string.Empty;
- }
- }