收藏
回答

关于access token有效性的问题

问题是这样的,但是当我发送模板消息的时候(用的是小程序的API),常常会返回40001 invalid incredential,然而当我多试几次(access token没变)就会可能会成功发送,就是时好时坏是怎么回事??(ps:我知道这个值的有效期是两小时,而且重复获取会导致旧的access token失效,所以我把它储存在服务器上,每小时更新一次。)请大佬们帮帮忙,谢谢了

最后一次编辑于  2018-09-09  (未经腾讯允许,不得转载)
回答关注问题邀请回答
收藏

2 个回答

  • 卢霄霄
    卢霄霄
    2018-09-09

    你是不是有接口,单独重新去申请了 access_token呢?然后导致其他的过期了。失败的信息是啥呢?

    2018-09-09
    赞同
    回复 5
    • °Untouchable
      °Untouchable
      2018-09-09

      用的是知晓云的SDK,并没有说会重新申请access token,而且重试可能会用之前那个失效的access token成功发送模板消息诶,很不懂了

      2018-09-09
      回复
    • 卢霄霄
      卢霄霄
      2018-09-09回复°Untouchable

      你这边能看见发送失败的返回值是啥吗?

      2018-09-09
      回复
    • °Untouchable
      °Untouchable
      2018-09-09回复卢霄霄

      一直都是40001诶

      2018-09-09
      回复
    • °Untouchable
      °Untouchable
      2018-09-09回复卢霄霄

      哦,对了,就是发送模板消息用的是wx的API,只是调用的时候是从服务器获取access token

      2018-09-09
      回复
    • 卢霄霄
      卢霄霄
      2018-09-09回复°Untouchable

      40001,还能偶尔成功。。没遇见过这种情况。。

      2018-09-09
      回复
  • °Untouchable
    °Untouchable
    2018-09-09

    尝试过重复请求,但是只要第一次失败接下来的都会失败。能成功发送都是一次成功的。(发送模板消息坑卡了我好多天了,真心求教)

    2018-09-09
    赞同
    回复 2
    • °Untouchable
      °Untouchable
      2018-09-09

      更新虽然不知道为什么会出现这些玄学的问题,不过最终找到了一个折中方案,就是服务器每五分钟测试access token的有效性。怎么测试呢?有一个 : 获取微信服务器IP地址接口   https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=,最后加上access token,如果过期会返回40001,而且这个借口没有访问次数的限制哦。如果过期就获取新的储存在服务器上吧。查资料说旧access token的有效期为5分钟,这刚好能衔接上中途token莫名其妙失效的问题。这样一天下来也就请求288次而已,远达不到2000次的限制。希望能给掉进这个巨坑的小伙伴们提供一定帮助。我终于爬出来了。

      参考:https://www.cnblogs.com/jackspider/p/6307504.htm

      2018-09-09
      回复
    • Ace
      Ace
      2018-09-19回复°Untouchable

      这很魔法

      2018-09-19
      回复