(资料图片仅供参考)
1、需要重新获取code,然后得到access token。
2、 即要重新调用授权界面。
3、需要用refresh token刷新access token。
4、关于access token过期的解决办法:是在内层函数中,如果执行失败,并且是access_token过期的异常,则会在request的时候抛出专门的异常。
5、在外围函数如果接收到了这个异常,则会抛出让装饰器接收到,装饰器收到这个异常后会删掉缓存中的token,并且重新执行该函数,这样该函数在执行的时候,就会去主动的获取最新的token。
6、assess token过期的原因:测试服和线上服使用同一个app_id和secret来获取,可能会存在其中一方获取的token是旧的。
7、代码中没有统一的从一个地方来获取,而是直接从官网获取,导致不统一(看了代码,没有发现单独获取token的地方)。
8、请求获取新的token的时候失败(应该不可能,因为请求成功以后会在redis中缓存两个小时,但是发现没过多久又再次失效,因此主要原因应该不是这个)。
9、异步队列等待的时间较长,正好执行的时候token已经更新(应该不可能,获取token是在异步函数中执行,而不是通过函数参数来传递)。
本文到此分享完毕,希望对大家有所帮助。
关键词:
Copyright 2015-2023 港澳城建网 版权所有 备案号:京ICP备2023022245号-31 联系邮箱:435 226 40 @qq.com