access token已过期
1个回答
展开全部
需要重新获取code,然后得到access token。 即要重新调用授权界面。需要用refresh token刷新access token。
关于access token过期的解决办法:
是在内层函数中,如果执行失败,并且是access_token过期的异常,则会在request的时候抛出专门的异常。
在外围函数如果接收到了这个异常,则会抛出让装饰器接收到,装饰器收到这个异常后会删掉缓存中的token,并且重新执行该函数,这样该函数在执行的时候,就会去主动的获取最新的token。
assess token过期的原因:
测试服和线上服使用同一个app_id和secret来获取,可能会存在其中一方获取的token是旧的。
代码中没有统一的从一个地方来获取,而是直接从官网获取,导致不统一(看了代码,没有发现单独获取token的地方)。
请求获取新的token的时候失败(应该不可能,因为请求成功以后会在redis中缓存两个小时,但是发现没过多久又再次失效,因此主要原因应该不是这个)。
异步队列等待的时间较长,正好执行的时候token已经更新(应该不可能,获取token是在异步函数中执行,而不是通过函数参数来传递)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询