微信公衆號開發 獲取openid時報錯40163:code been used問題的解決

概述

通過微信官方提供的接口https://api.weixin.qq.com/sns/oauth2/access_token接口,獲取openid,結果獲取不到。

報錯代碼

WechatUserInfo(accessToken=null, expiresIn=null, refreshToken=null, openid=null, scope=nul
l, errcode=40163, errmsg=code been used, hints: [ req_id: X6qVLa09602017 ])

解決

最後發現,當使用同一個code,去第二次獲取openid時,會出現如上報錯。
可以走一層緩存,在redis中保存一個key爲:“open:wechat:code:xxx”的值。當使用code獲取openid時,先檢查一下redis中是否已經有這個值了,如果有,就直接用。沒有的話,再去調用微信接口獲取。

總結

使用緩存,避免一個code使用兩次,來避免code been used異常

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章