微信工作平臺開發者模式獲取access_token的函數?

我接觸微信開發的時間也不長,在這段時間的學習中,我也總結一點經驗和大家分享。下面是我寫的一個獲取微信access_token的類,在微信開發中還是比較好用的。

工具/原料

電腦,php環境

微信公眾號

方法/步驟

首先我先上一下完整代碼的圖片,之後的步奏中,在做詳細的講解。為了安全,我把Appid和Appsecret替換掉,大家如果使用這個類的時候,只要填寫上對於的微信公眾號的Appid和Appsecret就可以了。

微信工作平臺開發者模式獲取access_token的函數

這個類的第1、2行很簡單,就是發出設置utf8編碼的報頭和設置一下服務器的時區。

微信工作平臺開發者模式獲取access_token的函數

第3行開始是名稱為 get_access_token類的類主體,其中定義了類常量APPID和APPSECRET,這裡填寫對於的兩個值就可以了;另外,定義了一個公用變量access_token用於之後存儲獲取的access_token的結果。

微信工作平臺開發者模式獲取access_token的函數

第8行開始,就是這個get_access_token類真正幹活的三個函數__construct()、get_cookie_access_token()、get_new_access_token()。

微信工作平臺開發者模式獲取access_token的函數

get_new_access_token()是用來從微信服務器上請求獲取access_token的,這個函數執行完畢,access_token就已經獲取到了,但是微信只讓一個賬號一天請求2000次,一次請求回來的access_token的有效期是2個小時,如果微信公眾號訪問量稍大,請求稍多,2000次是不夠用的;所以引出了get_cookie_access_token()函數。

微信工作平臺開發者模式獲取access_token的函數

get_cookie_access_token()函數的作用是把get_new_access_token()函數獲取的結果保存在access_token.yb的文件中,只要需要獲取access_token的時候,構造函數__construct()先去讀取access_token.yb文件中的值並驗證是否還在有效期,如果有效就不重新向微信服務器再次請求,如果無效/不存在,則向微信服務器請求獲取。

微信工作平臺開發者模式獲取access_token的函數

使用這個類的時候,只用實例化這個類,再獲取類中的access_token屬性就可以了;代碼和echo之後輸出的結果是:

微信工作平臺開發者模式獲取access_token的函數

微信工作平臺開發者模式獲取access_token的函數

相關問題答案