微信接口开发报错invalid credential, access_token is invalid or not latest hint,access_token没过期,但已失效的问题

时间:2024-04-01 18:35:00

做微信开发偶尔会有好多用户的信息获取不到,提示:{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [C7NhMA0380vr31!]"},意思是access_token已经失效,但access_token的有效期是7200S也就是两个小时,但我的token失效的时候才30分钟左右,其他地方也没有单独调用获取token的接口,让人匪夷所思。

---------------------

结果发现:原来在类里面实例化了两次,第一次取到access_token放在缓存,在另一个文件没有继承这个类,又单独实例化了一次

前提:使用了TP的集成微信SDK:https://github.com/dodgepudding/wechat-php-sdk

 

这个SDK中的,微信授权认证,已经没有更新维护,所以才导致这个问题:如下图,如果在项目中实例化了微信里的几个类,应该都继承TPWechat类,而不是wechat类,这样就会刷新了access_token

 

修改:把$we_obj = new Wechat($options); 改成:$we_obj = new TPWechat($options);

 

微信接口开发报错invalid credential, access_token is invalid or not latest hint,access_token没过期,但已失效的问题