赣州本地网站,很多网站的导航条都设置为7到9,众筹网站的分析与设计,手机网站建设分析做微信的项目#xff0c;一开始就是 access_token 的申请#xff0c;微信文档上写的比较清楚#xff1a; 1、为了保密appsecrect#xff0c;第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器#xff0c;…做微信的项目一开始就是 access_token 的申请微信文档上写的比较清楚 1、为了保密appsecrect第三方需要一个access_token获取和刷新的中控服务器。而其他业务逻辑服务器所使用的access_token均来自于该中控服务器不应该各自去刷新否则会造成access_token覆盖而影响业务2、目前access_token的有效期通过返回的expire_in来传达目前是7200秒之内的值。中控服务器需要根据这个有效时间提前去刷新新access_token。在刷新过程中中控服务器对外输出的依然是老access_token此时公众平台后台会保证在刷新短时间内新老access_token都可用这保证了第三方业务的平滑过渡 从中可以知道 我们要做好 access_token 的储存且只能储存在一个地方暂称为A处需要获取access_token只能从A处获取如果A处不存在就重新获取 access_token 并存放到A处。这点是比较好做的我在只有一台服务器通过将 access_token 储存到 redis 中作为中控。难处理的是这点access_token覆盖。你不知道什么时候会发生覆盖可能是别人不小心重新生成了一个 access_token。我之前的做法是在每次调用 access_token 之前都向微信发起请求验证 access_token 是否有效如果无效就重新申请一个。但是这样频率过大的话会被微信服务器拒绝。所以我现在改成根据调用结束之后的响应如果错误码是 access_token 过期相关的才重新申请新的 access_token这样又会造成遗漏所以我又在申请成功后将当前执行的函数放入队列中。另外每次都要根据返回判断然后做出处理代码重复太多了应该想办法减少重复。 转载于:https://www.cnblogs.com/jay54520/p/6185315.html