微信开发 获取AccessToken

  • A+
所属分类:微信开发

微信开发  获取AccessToken

获取AccessToken的方法

  1. public static Access_token GetAccessToken()  
  2. {  
  3.     string formatString = String.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", AppId, AppSecret);  
  4.   
  5.     Access_token res = new Access_token();  
  6.     HttpWebRequest request = (HttpWebRequest)WebRequest.Create(formatString);  
  7.     request.Method = "GET";  
  8.     request.ContentType = "text/html;charset=UTF-8";  
  9.     HttpWebResponse response = (HttpWebResponse)request.GetResponse();  
  10.     Stream myResponseStream = response.GetResponseStream();  
  11.     StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));  
  12.     string retString = myStreamReader.ReadToEnd();  
  13.     myStreamReader.Close();  
  14.     myResponseStream.Close();  
  15.     if (retString.IndexOf("7200") > 0)  
  16.     {  
  17.         Access_token token = new Access_token();  
  18.         token = JsonHelper.ParseFromJson<Access_token>(retString);  
  19.         res.access_token = token.access_token;  
  20.         res.expires_in = token.expires_in;  
  21.     }  
  22.     return res;  
  23. }  

Access_token类结构

  1. public class Access_token  
  2. {  
  3.     public Access_token()  
  4.     {  
  5.         //    
  6.         //TODO:用于验证Access_token是否过期实体  
  7.         //    
  8.     }  
  9.     string _access_token;  
  10.     string _expires_in;  
  11.   
  12.     /// <summary>    
  13.     /// 获取到的凭证     
  14.     /// </summary>    
  15.     public string access_token  
  16.     {  
  17.         get { return _access_token; }  
  18.         set { _access_token = value; }  
  19.     }  
  20.   
  21.     /// <summary>    
  22.     /// 凭证有效时间,单位:秒    
  23.     /// </summary>    
  24.     public string expires_in  
  25.     {  
  26.         get { return _expires_in; }  
  27.         set { _expires_in = value; }  
  28.     }  
  29. }  

JsonHelper.ParseFromJson方法

  1. /// <summary>    
  2. /// 将JSON对象转换为Model  
  3. /// </summary>    
  4. /// <typeparam name="T"></typeparam>    
  5. /// <param name="szJson"></param>    
  6. /// <returns></returns>    
  7. public static T ParseFromJson<T>(string szJson)  
  8. {  
  9.     T obj = Activator.CreateInstance<T>();  
  10.     using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))  
  11.     {  
  12.         DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());  
  13.         return (T)serializer.ReadObject(ms);  
  14.     }  
  15. }  
钰玺

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: