给小程序用户批量发送订阅消息提醒,一部分能成功,少量会报如下错误:
{\"errcode\":40003,\"errmsg\":\"invalid openid rid: 654f09d8-3d0c53ee-208fb684\"}
分析了错误日志,
小程序 appid = wx9bb9d03bd28f408c,
小程序用户 openid = ogu-84vr6Rjf_lcMq2PBCsrNHhQM
订阅消息 template_id = smZLr8N1ZZFX-JK_uVd_hUPQfEWxSx22vNaqXQCrqJ0
以上三个id都是对应的,没有问题。
通过rid查询报错信息结果如下,xxx是马赛克
{
"errcode": 0,
"errmsg": "ok",
"request": {
"invoke_time": 1699678680,
"cost_in_ms": 61,
"request_url": "access_token=74_3nUHMWmmP1OZRkBI9BiIz4VE9mSvPdn8yiSZ-DSzb_xxxxxxxxxx",
"request_body": "{\"touser\":\"ogu-84vr6Rjf_lcMq2PBCsrNHhQM\",\"template_id\":\"smZLr8N1ZZFX-JK_uVd_hUPQfEWxSx22vNaqXQCrqJ0\",\"page\":\"/pages/index/index\",\"miniprogram_state\":\"formal\",\"lang\":\"zh_CN\",\"data\":{\"thing2\":{\"value\":\"双十一特惠活动\"},\"thing3\":{\"value\":\"一大波优惠券来袭,立减50元\"},\"time4\":{\"value\":\"2023年11月11日\"},\"thing5\":{\"value\":\"数量有限,先到先得\"}}}",
"response_body": "{\"errcode\":40003,\"errmsg\":\"invalid openid rid: 654f09d8-3d0c53ee-208fb684\"}",
"client_ip": "xxx.xxx.xxx.xxx"
}
}
就给出一个invalid openid,也看不出是什么原因,如果是因为用户没有选中订阅模板就勾选了“总是记住以上的选择”,也不应该报 invalid openid 呀,头大了。
openid确实是有问题的,是从哪里拿到的openid呢?