微信公众号开发中的问题,模板消息返回 40001 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lcy630409
V2EX    问与答

微信公众号开发中的问题,模板消息返回 40001

  lcy630409 2018-07-02 09:52:52 +08:00 4543 次点击
这是一个创建于 2690 天前的主题,其中的信息可能已经有所发展或是发生改变。

最近批量发送模板消息 偶尔返回 40001,但是消息 用户却收到了,导致程序不停的重发,用户不停的收到同一个模板消息,,好多用户都取消关注了 - -,再这么下去 要辞职跑路了,有遇到这种问题的么,求解决办法, 顺便严重鄙视腾讯,TM 一个技术客服都没,迟早关闭!

18 条回复    2018-07-06 16:00:08 +08:00
zhuyao
    1
zhuyao  
   2018-07-02 09:59:24 +08:00
应该是 access_token 过期了,你存到缓存失效时间设置为 1 个小时或者 1 个半小时
lcy630409
    2
lcy630409  
OP
   2018-07-02 10:09:51 +08:00
@zhuyao 过期的问题,当然测试过,即使刚获取到的 token 放在浏览器中使用,也偶尔会报 40001
weer0026
    3
weer0026  
   2018-07-02 10:20:59 +08:00
access token 是全局的,新获取的会导致之前的过期,估计这个公众号在其他地方也用到 access token 了,导致两边互相争夺。
qiayue
    4
qiayue  
PRO
   2018-07-02 10:32:10 +08:00
如果是 access_token 过期,返回的是 40014。

40001 获取 access_token 时 AppSecret 错误,或者 access_token 无效。请开发者认真比对 AppSecret 的正确性,或查看是否正在为恰当的公众号调用接口

多说两句,access_token 获取之后一定要保存起来,在有效期内可以直接使用,而不是每次使用都获取一遍。
并且一个公众号只能用一个获取 access_token 的服务,其他地方需要使用 access_token 都统一使用这个服务来获取。
lcy630409
    5
lcy630409  
OP
   2018-07-02 10:39:19 +08:00
@weer0026 排查过,没有这种情况,因为这个问题是最近不久才出现的,之前一直是没问题的,代码也没有修改过,像我回复上面的那个同学的一样,即使是新获取到的 token,在浏览器中访问偶尔都报 40001
lcy630409
    6
lcy630409  
OP
   2018-07-02 10:40:51 +08:00
@qiayue 这个当然是按照规范来的,token 存了 5000s
zhuyao
    7
zhuyao  
   2018-07-02 10:46:42 +08:00
@weer0026 对对,这个我遇到过
lcy630409
    8
lcy630409  
OP
   2018-07-02 10:52:21 +08:00
@zhuyao 现在严重的问题是 微信返回了 40001,按理说 没有发送出去吧,但是用户是收到的,但是我们程序判断没有发送成功,然后继续重发.....
weer0026
    9
weer0026  
   2018-07-02 10:53:50 +08:00
@lcy630409 #5 我这边也有批量发送模板消息的,不过是队列慢慢跑的,没遇到过这样的问题,你可以试试减少同时发送的数量,增加发送间隔,也许腾讯那边有速率限制。
zhuyao
    10
zhuyao  
   2018-07-02 11:06:38 +08:00
@lcy630409 没有遇到过这种奇葩问题。不过有没有可能你某个地方调了两遍发送模版消息,第一遍是成功的,第二遍获取了错误的 access_token 或者空的发送报 40001。
lcy630409
    11
lcy630409  
OP
   2018-07-02 11:10:53 +08:00
@weer0026 - -不行啊 会员有 160w,有些模板消息要是慢一点就超过了规定的时间了,之前也是这样发的,没啥问题,最近才出现,排除了修改代码引起的问题,就只有问问大家了,,关键是腾讯这货,文档写的坑爹就算了,技术客服都没,每次在微信上反馈 都让自行排查,要他何用!
lcy630409
    12
lcy630409  
OP
   2018-07-02 11:12:02 +08:00
@zhuyao 没有一次成功,日志里在那个时间里 没有一个成功的,间隔很久再发就没问题了,但是又会偶尔出现
qiayue
    13
qiayue  
PRO
   2018-07-02 11:25:47 +08:00
你这是把模板消息当广告使用,小心被投诉,封掉你的接口
lcy630409
    14
lcy630409  
OP
   2018-07-02 11:40:01 +08:00
@qiayue 没啊,赠送优惠券 代金券,都是用户有购买行为才发的,然后有生日卷,生日卷是集中发送的,注册卷和推荐卷 都是第二天发送,应该不会被封 = =
wangxl
    15
wangxl  
   2018-07-04 19:19:15 +08:00
我遇到了这个问题,我这边的情况是
# 其它服务利用 app_id, app_secret 获取的新的 access_token, 然后 我们这边的 access_token 5 分钟之后就失效了

解决方案就是大统一一个地方获取唯一的 access_token, 不要两个地方都去获取新的.

## access_token 全局唯一,当有新的,以前旧的 5 分钟之后就失效了
lcy630409
    16
lcy630409  
OP
   2018-07-05 10:00:39 +08:00
@wangxl 我这边只有我这一个程序在刷新 token
wangxl
    17
wangxl  
   2018-07-05 15:35:45 +08:00
@lcy630409 你是多线程在获取吗?多进程吗?多台服务器都在获取 token 吗?

一定要保证全局唯一一个地方获取 token , 其它服务、线程、进程都从这一个地方取 token



我这边目前是暴露了一个接口,加了个密码 /JWT 的权限认证。同时我重新生成了一个密码,密码没有再告诉任何人,只有我自己保存了密码 app_secret
lcy630409
    18
lcy630409  
OP
   2018-07-06 16:00:08 +08:00
@wangxl 多进程 当然程序也就一样,调用也就一样了
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3010 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 26ms UTC 12:34 PVG 20:34 LAX 04:34 JFK 07:34
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86