百度搜索了一下,大致的意思token过期了,今天仔细看了一下代码,觉得代码没有问题,access_token的有效期是2个小时,在2小时之内我们可以直接使用缓存的access_token,过了2小时,就重新再请求新的access_token。
意思是access_token无效或者不是最新的, 于是想到access_token每次从微信服务器取一次就新生成一次,同时老的token就失效了(生产,测试环境各一套缓存导致了这样的token过期问题)。
而我们服务器上不止这一个业务调用了微信接口,我们的网页也加了微信转发分享的功能,也是要取access_token的,而这两个业务的access_token是分开缓存的,没有打通,因此出现了上面的问题。
解决方法,就是整个系统使用统一的获取access_token的方法,保证access_token的有效性。