日期:2016-02-27  浏览次数:1897 次

成为了开发者之后微信平台会给您appid和secret,在订阅号中是没有的,所以因该申请一下服务号

有了ACCESSTOKEN才能做添加菜单,上传/下载图片等功能

private string GetToken()
     {
 
         // 也可以这样写:
         //return  GetPage("http://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret", "");
       
         string res = "";
         HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://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;
         }
     }