收藏
回答

小程序发布发送订阅号消息 偶尔成功偶尔失败?

这是请求请求接口

https://api.weixin.qq.com/cgi-bin/message/wxopen/template/uniform_send?access_token=

这是失败时返回的数据

array(2) {
  ["errcode"] => int(40001)
  ["errmsg"] => string(89) "invalid credential, access_token is invalid or not latest rid: 5fbf6339-551a43f6-19f4e819"
}

请求时的数据也是一模一样 但老是一时成功一时失败

回答关注问题邀请回答
收藏

2 个回答

  • 张三疯
    张三疯
    2020-11-27

    access_token有效期是2小时,但是刷新access_token后,会导致旧access_token失效。

    errcode=40001,就是因为你不断的刷新access_token,调用时使用了旧的access_token。

    2020-11-27
    有用 1
    回复 6
    • 肆
      发表于移动端
      2020-11-27
      同样的access_token 多次请求为什么会存在失败的情况?
      2020-11-27
      1
      回复
    • 肆
      发表于移动端
      2020-11-27
      报错信息的rid又代表什么呢?
      2020-11-27
      1
      回复
    • 张三疯
      张三疯
      2020-11-27回复
      举个例子:
      时刻1(00:00:00),刷新得到token_1
      时刻2(00:07:00),刷新得到token_2
      token_1绝对可使用的时间范围是00:00:00~00:06:59
      token_2绝对可使用的时间范围是00:07:00~02:07:00 // 正常有效期是2小时
      为了方便开发者,我们会让token_1继续生效5分钟,即00:07:00~00:12:00期间,token_1和token_2都可以使用。


      你说的【多次请求会存在失败的情况】,是因为00:07:00~00:12:00、以及00:12:00~00:13:00期间,服务端缓存未精确过期。


      总之,你遵循两个原则即可:
      1)尽量减少刷新access_token,比如每隔1小时59分才刷新一次
      2)一旦刷新了access_token,立即使用最新的access_token
      2020-11-27
      2
      回复
    • 张三疯
      张三疯
      2020-11-27回复
      rid是Request ID,用来追踪单次请求,便于我们处理投诉/反馈。
      2020-11-27
      1
      回复
    • 肆
      发表于移动端
      2020-11-27回复张三疯
      好的 谢谢
      2020-11-27
      1
      回复
    查看更多(1)
  • 社区技术运营专员--许涛
    社区技术运营专员--许涛
    2020-11-26

    你好,麻烦提供下appid和模板ID

    2020-11-26
    有用 1
    回复 1
    • 肆
      2020-11-26
      appid:wxd17f81f3893d48ac
      模板id:9UqhQ4lDtGhkr7QKd_g016B9jArPb133exTEY2bv3kk
      2020-11-26
      回复
登录 后发表内容
问题标签