在获取上万条微信信息时,用循环多次请求微信链接带上获取的access_token,但在运行的过程中出现这样的错误{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest"},循环过程中保存数据所用的时间也没有超过access_token的有效时间。代码如下:请问是怎么回事
题主你好,我遇到了与你类似的问题,在较短时间内,多次用access_token去调用微信其他接口总是会出现 {"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [QZ.Jja0059ent1]"} 我是用定时器每一个小时内获取授权token,然后存到memcached缓存中。理论上讲,这一个小时内这个token一直是有效的,但结果是,每次频繁利用token调用其他的接口时,总会报token失效。 排除appsecret错误的问题,因为如果appsecret错误,所有调用结果都是失败,而不会只出现在利用token频繁调用其他接口的情况下。 这个问题那么长时间了,题主应该解决了吧?希望题主赐教。
7200秒有效你就应该获取了之后继续使用而不是120秒之后就再次获取,access_token每天获取次数是有限的。
access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。
楼主我能问你一个问题么 关于授权的
题主你好,我遇到了与你类似的问题,在较短时间内,多次用access_token去调用微信其他接口总是会出现
{"errcode":40001,"errmsg":"invalid credential, access_token is invalid or not latest hint: [QZ.Jja0059ent1]"}
我是用定时器每一个小时内获取授权token,然后存到memcached缓存中。理论上讲,这一个小时内这个token一直是有效的,但结果是,每次频繁利用token调用其他的接口时,总会报token失效。
排除appsecret错误的问题,因为如果appsecret错误,所有调用结果都是失败,而不会只出现在利用token频繁调用其他接口的情况下。
这个问题那么长时间了,题主应该解决了吧?希望题主赐教。
我现在也是遇到类似的问题 ,我设置access_token有效期是3600s ,我也是for循环 , 在for循环里面发送模板消息。,理论上access_token的有效期是7200s , 那么我设置3600s 应该可以的 过期之后我会重新的拉取!!
是啊,不知道为什么。我用了一个定时器没7200s去获取AccessToken,但是每次拿回来的AccessToken,发送支付客服消息,过一会儿就失效了。
测试的时候,发现即使是立刻刷新拿回来的token会抱42001的错误。不知道为什么,求赐教啊
这个微信开发论坛管理员已经回答过了
所以可以采取的方案是去带token请求一个另外的没有次数限制的接口,如果token失效,重新生成TOKEN,如果没有失效,继续之前的逻辑
除了时间判断和集中存储的问题,更重要的是在使用时判断返回结果响应是否要更新AccessToken,微信服务器群集在处理AccessToken的时候本身就不同步。就以获取微信服务器IP地址为例,当你主动将AccessToken失效后,调用这个接口是一下成一下失败的,并且当你更新AccessToken后马上调用也会出现时好时坏的问题。折腾半天还是用了比较恶心的方式来处理的。
在Invoke函数里进行最多3次重试的循环调用,如果发现失效则立即更新。
加上判断,失效时重新获取Access token
可能有次数限制?