收藏
回答

(已解决)公众号模板消息推送频繁出现40001怎么破?

公众号模板消息推送频繁出现40001,向一群考生推送消息,推送频率为每隔1秒,提醒考生打印准考证。频繁报access token错误,实际上看截图,在一次循环推送中不论是成功还是失败,access token都是那个值,并没有在其他地方有刷新。且access token的获取使用了中控服务器和缓存。多次测试,但是还是有失败。求教是否是因为1秒的时间间隔太短而造成的推送失败。

最后一次编辑于  2020-09-16
回答关注问题邀请回答
收藏

3 个回答

  • 花都拔得鸟
    花都拔得鸟
    2020-09-16

    既然微信不解决,说下折中的解决方案,算是勉强结贴。

    仅判断errcode:40001。其他错误代码可能是因为用户取消了关注等情况不予判断,直接放弃。

    正常发送每次间隔延时0.5秒。

    如返回出现errcode:40001,重新将该用户openid拉入新建发送队列,准备递归循环。

    第一次递归每次间隔延时1秒,第二次递归每次间隔延时3秒,第三次递归每次间隔延时5秒,第三次递归如仍然失败,直接放弃!(否则可能会出现死循环)

    为避免在发送过程中,有几率会遇到access token的7200秒节点,每次递归的时候中控缓存服务器刷新一下access token。三次递归,刷新3次。

    目前问题已基本解决,测试发送4组数据,每次发送3000+用户,成功率在99.5%以上。


    另:参照社区某兄的方法,在每个用户发送消息时,在remark最末端加入一个4-6位的随机字符串,据该兄说是每次发送完全相同的消息,可能会被微信拦截。不知道是不是真的,反正加上总比不加上好。

    2020-09-16
    有用 2
    回复
  • A阳光正好
    A阳光正好
    2020-10-06

    微信打算不解决这个问题了吗

    2020-10-06
    有用
    回复
  • 微盟
    微盟
    2020-09-16

    参考回答:https://developers.weixin.qq.com/community/develop/doc/000424ff540ca8aba3cad972f5bc00?highLine=%25E5%2585%25AC%25E4%25BC%2597%25E5%258F%25B7%25E6%25A8%25A1%25E6%259D%25BF%25E6%25B6%2588%25E6%2581%25AF%25E6%258E%25A8%25E9%2580%2581%25E9%25A2%2591%25E7%25B9%2581%25E5%2587%25BA%25E7%258E%25B040001%25E6%2580%258E%25E4%25B9%2588%25E7%25A0%25B4%25EF%25BC%259F

    2020-09-16
    有用
    回复 4
    • 花都拔得鸟
      花都拔得鸟
      2020-09-16
      谢答,但这个参考回答并未解决实际问题
      2020-09-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-09-16
      别问,问就是代码没问题,都是微信BUG
      2020-09-16
      回复
    • 花都拔得鸟
      花都拔得鸟
      2020-09-16回复Mr.Zhao
      看了下社区,这个问题很早之前就有提出了,微信好像到现在都没有解决,可能是微信根本不想解决这个问题,来避免开发者使用循环推送消息。但是实际业务是有这个需求的呀,不光开发者有,用户也有。
      2020-09-16
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-09-16回复花都拔得鸟
      见过很多人反馈了,都是说自己代码肯定没问题
      2020-09-16
      回复
登录 后发表内容
问题标签