小程序
小游戏
企业微信
微信支付
扫描小程序码分享
公众号模板消息推送频繁出现40001,向一群考生推送消息,推送频率为每隔1秒,提醒考生打印准考证。频繁报access token错误,实际上看截图,在一次循环推送中不论是成功还是失败,access token都是那个值,并没有在其他地方有刷新。且access token的获取使用了中控服务器和缓存。多次测试,但是还是有失败。求教是否是因为1秒的时间间隔太短而造成的推送失败。
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
既然微信不解决,说下折中的解决方案,算是勉强结贴。
仅判断errcode:40001。其他错误代码可能是因为用户取消了关注等情况不予判断,直接放弃。
正常发送每次间隔延时0.5秒。
如返回出现errcode:40001,重新将该用户openid拉入新建发送队列,准备递归循环。
第一次递归每次间隔延时1秒,第二次递归每次间隔延时3秒,第三次递归每次间隔延时5秒,第三次递归如仍然失败,直接放弃!(否则可能会出现死循环)
为避免在发送过程中,有几率会遇到access token的7200秒节点,每次递归的时候中控缓存服务器刷新一下access token。三次递归,刷新3次。
目前问题已基本解决,测试发送4组数据,每次发送3000+用户,成功率在99.5%以上。
另:参照社区某兄的方法,在每个用户发送消息时,在remark最末端加入一个4-6位的随机字符串,据该兄说是每次发送完全相同的消息,可能会被微信拦截。不知道是不是真的,反正加上总比不加上好。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
微信打算不解决这个问题了吗
参考回答: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
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
既然微信不解决,说下折中的解决方案,算是勉强结贴。
仅判断errcode:40001。其他错误代码可能是因为用户取消了关注等情况不予判断,直接放弃。
正常发送每次间隔延时0.5秒。
如返回出现errcode:40001,重新将该用户openid拉入新建发送队列,准备递归循环。
第一次递归每次间隔延时1秒,第二次递归每次间隔延时3秒,第三次递归每次间隔延时5秒,第三次递归如仍然失败,直接放弃!(否则可能会出现死循环)
为避免在发送过程中,有几率会遇到access token的7200秒节点,每次递归的时候中控缓存服务器刷新一下access token。三次递归,刷新3次。
目前问题已基本解决,测试发送4组数据,每次发送3000+用户,成功率在99.5%以上。
另:参照社区某兄的方法,在每个用户发送消息时,在remark最末端加入一个4-6位的随机字符串,据该兄说是每次发送完全相同的消息,可能会被微信拦截。不知道是不是真的,反正加上总比不加上好。
微信打算不解决这个问题了吗
参考回答: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