微信公众平台开发之微信access_token如何有效长期保存
隨著微信使用越來越廣泛,微信公眾平臺開放了許多接口以提供更多個性化的服務,包括自定義菜單接口、客服接口、獲取用戶信息接口、用戶分組接口、群發接口等,開發者在調用這些接口時,都需要傳入一個相同的參數access_token,它是公眾賬號的全局唯一票據,它是接口訪問憑證。
access_token的有效期是7200秒(兩小時),在有效期內可以使用,一旦access_token過期,需要重新通過調用微信接口獲取。目前微信接口上面獲取access_token每日限額為2000次,如果每次創建菜單,發送主動消息,獲取用戶信息,群發信息之前都去獲取,必然會達到該接口的頻率限制,在實際微信接口開發中,我們需要把獲取到的access_token存儲起來,然后設置有效期,在有效期過期后再去獲取,以保證access_token實時的有效性。
下面是自己想到的一種xml的存儲方式,直接貼代碼:
?????public?string?GetExistAccessToken()
????????{
????????????// 讀取XML文件中的數據
????????????string?filepath = Server.MapPath("/File/XMLToken.xml");
????????????StreamReader?str =?new?StreamReader(filepath, System.Text.Encoding.UTF8);
????????????XmlDocument?xml =?new?XmlDocument();
????????????xml.Load(str);
????????????str.Close();
????????????str.Dispose();
???????????stringToken=xml.SelectSingleNode("xml").SelectSingleNode("AccessToken").InnerText;
???????????DateTime?AccessExpires?=Convert.ToDateTime(xml.SelectSingleNode("xml").SelectSingleNode("AccessExpires").InnerText);
????????????if?(DateTime.Now >=?AccessExpires)
????????????{
????????????????Access_token?mode = GetAccessToken();
???????????????xml.SelectSingleNode("xml").SelectSingleNode("AccessToken").InnerText = mode.access_token;
????????????????DateTime?_accessExpires?=DateTime.Now.AddSeconds(int.Parse(mode.expires_in));
???????????????xml.SelectSingleNode("xml").SelectSingleNode("AccessExpires").InnerText =_accessExpires.ToString();
????????????????xml.Save(filepath);
????????????????Token?= mode.access_token;
????????????}
????????????return?Token;
????????}
??貼上XMLToken.xml?文件
?<?xml version="1.0" encoding="utf-8"?>
<xml>
?<AccessToken>6re6mjuHNHSeptaf8zwxMypCRHWPtTwXOsBffNO2tBPnglPmginrn0N9JwxnlHKw
</?AccessToken?>
?<?AccessExpires?>2014-05-03 19:04:18</?AccessExpires?>
</xml>
從上面代碼中可以看出首先通過分析XML文檔,獲取里面的AccessToken及AccessExpires,對比當前時間,如果AccessExpires小于等于當前時間,則重新獲取access_token,?代碼中的GetAccessToken()就是獲取access_token的方法,獲取access_token后,將當前時間加上token有效期時間的結果及獲取到的access_token重新寫入到xml中,至此在以后的有效期范圍內,再次獲取access_token 將直接讀取xml文件中的AccessToken即可。
http://www.wechatstyle.com/weixinkaifa/225.html
總結
以上是生活随笔為你收集整理的微信公众平台开发之微信access_token如何有效长期保存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQLServer 语句-创建索引
- 下一篇: 求时间差的sql语句。 比如如下数据