關於此,
1、目前我的做法是先將access_token和對應獲取的時間存儲到數據庫,檢驗當下請求時間和數據庫的時間差是否已超過一定時間(6000s),如是,則重新請求access_token,並重新儲存token和時間,否則直接用資料庫裡已有的token去請求ticket;
2、疑問:1)多次請求ticket是否可行?是不是只要不多次請求token就可以?
2)相同的token去請求ticket會不同嗎? token和ticket之間到底有什麼關聯?
謝謝!
關於此,
1、目前我的做法是先將access_token和對應獲取的時間存儲到數據庫,檢驗當下請求時間和數據庫的時間差是否已超過一定時間(6000s),如是,則重新請求access_token,並重新儲存token和時間,否則直接用資料庫裡已有的token去請求ticket;
2、疑問:1)多次請求ticket是否可行?是不是只要不多次請求token就可以?
2)相同的token去請求ticket會不同嗎? token和ticket之間到底有什麼關聯?
謝謝!
透過「微信公眾平台介面調試工具」親身經歷,得出以下結論:
1、微信公眾平台開發文件中寫道:
可見微信公眾平台對jsapi_ticket的呼叫次數及頻率作了限制,不建議頻繁刷新jsapi_ticket,但不刷新也不行,其次ticket有用於調用微信卡券的api_ticket、jssdk配置時使用的jsapi_ticket,用於兌換二等維碼的ticket,規則都一致。
2、同一個access_token多次取得ticket結果一致。但微信建議是全域快取access_token和ticket並設定對應的過期時間。至於兩者的區別,我個人認為:
ticket是針對某一api的調用憑證,在一定程度上洩露也無所謂,只含有特定的權限。而access_token是公眾號的全域唯一介面呼叫憑證,公眾號呼叫各介面時都需使用access_token,需要妥善保管。 ticket是token產生的臨時憑證。如果重新獲取,上一個憑證將失效。
如果總結有誤,歡迎指出。