同一个AccessToken 间歇性的40001,基础性服务,官方能否重视一下
发布于 6 年前 作者 hpan 1605 次浏览 来自 官方Issues

建了中控台GetAccessToken,一个mutex保证每次只有一个线程从微信服务器取AccessToken,一个mutex读写内部accessToken变量,没毛病吧。。。所以不要怀疑我有没有中控台,或者取来后其它线程又取把前面的AccessToken冲无效的问题

大家都知道Expire_in骗人的,所以要么每次错了重新去取,微信没有测试AccessToken的接口,我现在为了测试AccessToken有效性,用的是取微信服务器IP的接口,

https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=ACCESS_TOKEN

然后。。。

同一个AccessToken,同一台服务器手动的curl “https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=24_Oqic6Ed0。。。”

返回一堆ip是正常的,然后间歇性的出现40001,接着又正常。。。然后测试久了,发现这个接口还会返回45009 reach max api daily quota limit

至少说明:1、这个40001的返回,是个bug,否则接下去curl,不会又正常,一小时内每秒去getcallbackip,会出现1/10左右的40001,你可以返回-1表示服务器忙,也不该返回40001,因为这个AccessToken明显有效。2、这个接口也有访问数量限制,可所有文档都没有写啊

3 回复

同样问题;

使用同一个 access_token,尝试调用云函数,不定时出现“40001”;

多请求几次,又可以了 = =

完全理解不了怎么回事。

可以存在时效缓存中,过了有效期,重新获取;也可以起个quartz,隔1~2h刷新access_token

回到顶部