首先说明,获取的 access_token 是有效的,并且没有出现多次刷新获取 access_token 的情况。
用户订阅了 2 个消息模板,我的服务端调用微信发送订阅消息(subscribeMessage.send)时,出现了第一个失败,第二个成功的情况,具体日志见下:
服务端是循环调用的接口,观察日志时间发现相同的 access_token,发送第一个模板消息失败 40001,发送第二个模板成功。
失败之后相同的 access_token 我又通过 postman 直接请求微信接口(一个模板),也是可以成功的。回到服务端通过循环方式调用发送多个模板时,就会出现都成功,一个成功一个失败,或者都失败的现象。经过多次测试,应该属于发送订阅消息接口的 BUG。希望官方可以早日给出反馈。
-----------
补充一下描述吧
目前的现象是发送 10 次返回的结果分别是【40001,40001,0,40001,0,40001,0,0,40001,0】,所以肯定不是失效或者被刷新的问题。
失效或者刷新不应该是【0,0,0,0,40001,40001,40001,40001,...】,希望回复。
----------
再来补充一下
最新测试发现在获取 access_token 后 20 分钟之内都是正常的,25 分钟之后开始出现偶然 40001 现象,时间越往后失败的概率越大。
2021年4月4号,这个问题还没解决,把我折腾到凌晨1点。翻阅了下社区,这个问题很多人都出现过。
关键是“同样的代码,一会可以,一会不行”
奇葩
同上,麻烦官方人员,重视下这个问题。因为推送消息,一会可以,一会不可以。这样会给客户造成影响。
用队列+睡眠延迟 是可以解决这个问题的,队列其实就可以解决了 但是还是会出现该问题(出现机率会低很多),加上睡眠延迟就没出现过了。
新手遇到同样问题,小程序还未发布,在开发调试阶段调试发送订阅信息始终报40001错误,提示invalid credential, access_token is invalid or not latest rid。token获取也没报错,就是发信息时报错,在下新手,望高手指点。
我也遇到过这种问题,虽然不知道怎么出现的,但重新获取一下token就正常了,我将40001和42001都视为了过期,当出现以上情况时就重新拉份token再发,虽然这样会加快获取token的频率,但可以暂时规避这个问题。等微信解决吧
请问下楼主是怎么解决的,有什么比较好的兜底方案吗
同样遇到了,2个小时的component_access_token,还没过期的情况下,用这个token去调API就偶尔报40001
你好,麻烦提供一下appid