亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#微信公眾平臺開發之access_token的獲取存儲與更新

2020-01-24 01:14:02
字體:
來源:轉載
供稿:網友

一、什么是access_token?

    access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token。正常情況下access_token有效期為7200秒,重復獲取將導致上次獲取的access_token失效。由于獲取access_token的api調用次數非常有限,建議開發者全局存儲與更新access_token,頻繁刷新access_token會導致api調用受限,影響自身業務。

二、要解決的問題

1、如何獲取access_token。

2、由于access_token的有效期為7200秒,即2小時,并且重復獲取將導致上次獲取的access_token失效,獲取access_token的api調用次數非常有限,所以要解決如何全局存儲與更新access_token。

三、思路

1、將access_token存儲在數據庫中。

2、何時更新access_token呢?當access_token失效的時候更新,那么怎么判斷access_token有沒有失效呢?使用當前的access_token請求微信接口,獲取自定義菜單,如果返回的errcode為42001,則說明access_token已經失效,這時再重新獲取access_token。

數據庫設計(表名SWX_Config):

四、代碼:

1、Http請求代碼(HttpRequestUtil類):

#region 請求Url,不發送數據/// <summary>/// 請求Url,不發送數據/// </summary>public static string RequestUrl(string url){ return RequestUrl(url, "POST");}#endregion#region 請求Url,不發送數據/// <summary>/// 請求Url,不發送數據/// </summary>public static string RequestUrl(string url, string method){ // 設置參數 HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.Method = method; request.ContentType = "text/html"; request.Headers.Add("charset", "utf-8"); //發送請求并獲取相應回應數據 HttpWebResponse response = request.GetResponse() as HttpWebResponse; //直到request.GetResponse()程序才開始向目標網頁發送Post請求 Stream responseStream = response.GetResponseStream(); StreamReader sr = new StreamReader(responseStream, Encoding.UTF8); //返回結果網頁(html)代碼 string content = sr.ReadToEnd(); return content;}#endregion

2、輔助方法(Tools類):

namespace SWX.Utils{ /// <summary> /// 工具類 /// </summary> public class Tools {  #region 獲取Json字符串某節點的值  /// <summary>  /// 獲取Json字符串某節點的值  /// </summary>  public static string GetJsonValue(string jsonStr, string key)  {   string result = string.Empty;   if (!string.IsNullOrEmpty(jsonStr))   {    key = "/"" + key.Trim('"') + "/"";    int index = jsonStr.IndexOf(key) + key.Length + 1;    if (index > key.Length + 1)    {     //先截逗號,若是最后一個,截“}”號,取最小值     int end = jsonStr.IndexOf(',', index);     if (end == -1)     {      end = jsonStr.IndexOf('}', index);     }     result = jsonStr.Substring(index, end - index);     result = result.Trim(new char[] { '"', ' ', '/'' }); //過濾引號或空格    }   }   return result;  }  #endregion }}

3、判斷access_token是否過期(WXApi類):

#region 驗證Token是否過期/// <summary>/// 驗證Token是否過期/// </summary>public static bool TokenExpired(string access_token){ string jsonStr = HttpRequestUtil.RequestUrl(string.Format("https://api.weixin.qq.com/cgi-bin/menu/get?access_token={0}", access_token)); if (Tools.GetJsonValue(jsonStr, "errcode") == "42001") {  return true; } return false;}#endregion

4、請求微信接口,獲取access_token(WXApi類):

#region 獲取Token/// <summary>/// 獲取Token/// </summary>public static string GetToken(string appid, string secret){ string strJson = HttpRequestUtil.RequestUrl(string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}", appid, secret)); return Tools.GetJsonValue(strJson, "access_token");}#endregion

5、全局存儲與更新access_token(AdminUtil類):

#region 獲取access_token/// <summary>/// 獲取access_token/// </summary>public static string GetAccessToken(PageBase page){ string access_token = string.Empty; UserInfo user = GetLoginUser(page); if (user != null) {  if (string.IsNullOrWhiteSpace(user.access_token)) //尚未保存過access_token  {   access_token = WXApi.GetToken(user.AppID, user.AppSecret);  }  else  {   if (WXApi.TokenExpired(user.access_token)) //access_token過期   {    access_token = WXApi.GetToken(user.AppID, user.AppSecret);   }   else   {    return user.access_token;   }  }  MSSQLHelper.ExecuteSql(string.Format("update SWX_Config set access_token='{0}' where UserName='{1}'", access_token, user.UserName)); } return access_token;}#endregion

精彩專題分享:ASP.NET微信開發教程匯總,歡迎大家學習。

以上就是本文的全部內容,希望對大家進行微信公眾平臺開發有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
福利一区视频在线观看| 国产精品久久久久久久久久免费| 久久久久久久av| xvideos亚洲| 97视频免费看| 日韩国产欧美区| 国产日韩精品一区二区| 麻豆成人在线看| 久久久天堂国产精品女人| 亚洲欧美国产精品专区久久| 黄色成人在线免费| 日韩精品中文字幕久久臀| 中文字幕日韩电影| 精品久久中文字幕久久av| 欧美黄色性视频| www.欧美精品一二三区| 日韩av手机在线| 国产又爽又黄的激情精品视频| 色综合色综合久久综合频道88| 欧美亚洲国产视频小说| 亚洲国产精品小视频| 色香阁99久久精品久久久| 亚洲一区制服诱惑| 亚洲成色777777在线观看影院| 国产精品高潮呻吟视频| 欧美午夜激情小视频| 欧美成人免费小视频| 成人日韩在线电影| 欧美一区在线直播| 欧美日韩国产成人在线| 在线日韩欧美视频| 少妇精69xxtheporn| 在线日韩精品视频| 久久久国产精彩视频美女艺术照福利| 欧美乱大交xxxxx另类电影| 欧美日韩国产激情| 国产亚洲欧美日韩美女| 国产精品精品国产| 欧美性生交xxxxx久久久| 伦伦影院午夜日韩欧美限制| 亚洲天堂影视av| 久久精品国产96久久久香蕉| 国产色视频一区| 国产日韩视频在线观看| 性色av香蕉一区二区| 久久成年人视频| 高清视频欧美一级| 亚洲国产毛片完整版| 国产亚洲精品久久久久动| 2019中文字幕在线| 亚洲性线免费观看视频成熟| 日韩精品中文字幕在线观看| 在线播放国产一区中文字幕剧情欧美| 国产91精品久| 国产啪精品视频| 亚洲free性xxxx护士hd| 免费成人高清视频| 国产大片精品免费永久看nba| 国产精品狠色婷| 欧美日韩视频免费播放| 久久久久亚洲精品成人网小说| 欧美片一区二区三区| 精品中文字幕久久久久久| 最新国产精品拍自在线播放| 久久视频在线播放| 久久国产视频网站| 色系列之999| 亚洲电影在线看| 国产精品福利在线观看| 91精品国产九九九久久久亚洲| 8050国产精品久久久久久| 国产精品都在这里| 日本三级韩国三级久久| 爱福利视频一区| 亚洲成年人影院在线| 欧美日韩国产精品一区二区三区四区| 中文字幕在线国产精品| 色悠悠国产精品| 欧美视频免费在线观看| 国产精品极品在线| 国产精品爽爽爽爽爽爽在线观看| 欧美日韩性视频在线| 日韩在线视频导航| 日韩欧美国产成人| 色香阁99久久精品久久久| 国产精品 欧美在线| 日本成人在线视频网址| 日韩中文字幕国产精品| 国产成人精品久久亚洲高清不卡| 亚洲精品丝袜日韩| 成人性生交大片免费看小说| 国产精品流白浆视频| 欧美日韩成人精品| 欧美激情精品久久久久久免费印度| 久久av在线播放| 一区二区三区动漫| 色诱女教师一区二区三区| 久久影院资源网| 国产精品成av人在线视午夜片| 在线一区二区日韩| 欧美寡妇偷汉性猛交| 在线观看成人黄色| 亚洲欧美成人网| 久久天天躁狠狠躁老女人| 日本精品视频在线| 亚洲精品小视频在线观看| 91在线播放国产| 精品在线小视频| 亚洲成人在线视频播放| 97国产精品视频| 日韩电影中文字幕在线观看| 欧美成人三级视频网站| 91精品视频播放| 最近中文字幕mv在线一区二区三区四区| 日韩禁在线播放| 色综合影院在线| 日本三级久久久| 91精品视频一区| 久久久精品免费视频| 热久久免费国产视频| 97久久久免费福利网址| 日韩在线播放视频| 免费99精品国产自在在线| 日韩欧美综合在线视频| 欧美乱大交xxxxx| 亚洲人成伊人成综合网久久久| xxxx欧美18另类的高清| 国产国产精品人在线视| 成人做爽爽免费视频| xxx一区二区| 国产成人激情视频| 不卡中文字幕av| 亚洲三级黄色在线观看| 久久全球大尺度高清视频| 亚洲成人av片| 亚洲国产成人久久综合| 中文字幕亚洲字幕| 欧美精品福利视频| 精品国内亚洲在观看18黄| 尤物tv国产一区| 国产在线999| 国产精品久久久久久中文字| 久久久成人的性感天堂| 国产精品视频午夜| 日韩av成人在线| 欧美性xxxxx极品娇小| 日本国产一区二区三区| 中文字幕久久精品| 欧美日产国产成人免费图片| 91国在线精品国内播放| 亚洲一区二区在线播放| 成人羞羞国产免费| 在线观看国产精品日韩av| 在线观看日韩www视频免费| 77777少妇光屁股久久一区| 欧美精品久久久久久久| 欧美激情精品久久久久久免费印度| 国产啪精品视频| 欧美在线免费观看| 久久国产视频网站| 精品国产一区二区三区久久久狼| 日韩精品中文字幕有码专区| 一区二区亚洲欧洲国产日韩| 国产色婷婷国产综合在线理论片a|