微信接口开发报错invalid credential, access_token is invalid or not latest hint

2016-08-24 22:09:46
微信接口凭证access_token一定要全局管理
我们的查酒后台集成了微信公众平台的客服API接口,不用登录微信公众号的后台就可以直接给用户发送消息。最近,运营的同事反馈,通过微信查酒,后台无法直接给用户推送微信消息了。

起初,我也没在意,大体觉得可能是访问微信接口的AccessToken凭证失效了,需要重新请求,所以就手工删除一下服务器端缓存的access_token文件,就好用了。可是过不了多久,就又不行了。

今天仔细看了一下代码,觉得没有问题,access_token的有效期是2个小时,在2小时之内我们可以直接使用缓存的access_token,过2小时,就重新再请求新的access_token。

查看了一下报错信息如下:
invalid credential, access_token is invalid or not latest hint

大意是access_token无效或者不是最新的, 于是想到access_token每次从微信服务器取一次就新生成一次,同时老的token就失效了。

而我们服务器上不止这一个业务调用了微信接口,我们的网页也加了微信转发分享的功能,也是要取access_token的,而这两个业务的access_token是分开缓存的,没有打通,因此出现了上面的问题。

解决方法,就是整个系统使用统一的获取access_token的方法,保证access_token的有效性。