wechat icon indicating copy to clipboard operation
wechat copied to clipboard

微信公众号没有重试刷新access_token

Open lemon-1997 opened this issue 2 years ago • 9 comments

问题及现象

如果GetAccessToken()获取的token有问题,没有重试的机制去刷新,是否能增加当调用失败时,则重新获取token然后重试 access_token相关错误码

40001 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口
40014 不合法的 access_token ,请开发者认真比对 access_token 的有效性(如是否过期),或查看是否正在为恰当的公众号调用接口
42001 access_token 超时,请检查 access_token 的有效期,请参考基础支持 - 获取 access_token 中,对 access_token 的详细机制说明

lemon-1997 avatar Jan 13 '23 04:01 lemon-1997

如果是前置参数都错误了,重试也是无意义的操作,组建中的有效期应该是7000秒

houseme avatar Jan 13 '23 14:01 houseme

如果是前置参数都错误了,重试也是无意义的操作,组建中的有效期应该是7000秒

理论上一般都没问题,现在是完全信任cache里的token,如果cache存的token有问题,就必须等cache里的token失效才会去重新拿token,有刷新机制能避免这个问题

lemon-1997 avatar Jan 14 '23 03:01 lemon-1997

可以新增一个强制刷新的方法出来

houseme avatar Jan 14 '23 04:01 houseme

有需求可以自行实现AccessTokenHandle接口,至于什么时候刷新token就可以完全自己控制了

silenceper avatar Jan 14 '23 14:01 silenceper

我也遇到这个问题,不一定是前置参数错误了,而是在测试环境获取token以后 导致 线上环境缓存的token不是最新的,现在只能等失效或者重新服务,刚才看到已经增加了获取稳定版token的功能,不知道怎么初始化模块才能指定使用稳定版token

dzwvip avatar Apr 18 '23 07:04 dzwvip

我也遇到过这个问题,不一定是之前设置的参数错误了,而是在测试环境获取token以后 导致在线环境存储的token不是最新的,现在只能等丢失效率或者重新服务,刚才看到已经增加了获取稳定版token的功能,不知道怎么开始化模块才能指定使用稳定版token

你好请问您解决这个问题了吗

xumingpeng avatar Jun 06 '23 11:06 xumingpeng

我也遇到这个问题,不一定是前置参数错误了,而是在测试环境获取token以后 导致 线上环境缓存的token不是最新的,现在只能等失效或者重新服务,刚才看到已经增加了获取稳定版token的功能,不知道怎么初始化模块才能指定使用稳定版token

同一个appid 多处使用,获取新的token之后,上一个token就失效了,如果频繁的请求,会出现超过该接口的请求频次。

houseme avatar Jun 06 '23 12:06 houseme

在初始化小程序的时候,自定义 token 获取方式,指定使用 获取稳定版token的方式 应该就可以了

dzwvip avatar Jun 07 '23 03:06 dzwvip

在初始化小程序的时候,自定义 token 获取方式,指定使用 获取稳定版token的方式 应该就可以了

这样确实是可以的,不过还是希望在能在Wechat.GetMiniProgram(miniProgramConfig)里追加更多参数,直接根据参数决定使用GetAccessToken还是GetStableAccessToken去获取access_token image

ccfish86 avatar Oct 31 '23 06:10 ccfish86