微信小程序消息配置问题汇总
一、消息推送配置
1、解析失败、请检查信息是否填写正确
服务器地址中不能使用其他的端口号,把端口号去掉,默认就是走80或443端口,另外这个地址需要外网访问,我使用了nat123映射了80端口,这个工具需要一点点小费
2、请求超时,请检查信息是否填写正确
这个一般是由于后端CheckSignature方法里 经过SHA1加密的字符tmpStr和signature不匹配导致的,一开始我使用 if( tmpStr==signature ) return true; 其实应该使用 if( tmpStr.Equals(signature, StringComparison.OrdinalIgnoreCase) ),SHA1加密以后返回的字符是大写的
3、Token校验失败,请检查确认
这个一般是由于后端接口返回的数据类型不对,大多数接口都会封装一个ApiResutModel用来统一返回类似于 { code:200, msg:"",data:{} } 的结果,但是消息推送配置里只能接受纯文本,因此修改为 HttpContext.Response.WriteAsync(echostr);
二、消息推送
1、invalid openid rid: 5f5f0b66-3e0db526-555e7b82 无效的openid
这个一般由于后端请求subscribeMessage.send接口时传递的json格式错误,要不就是key顺序问题,要不就是key首字符大写的问题,一般后端定义的请求模型首字母都是大写,而小程序接口需要的json必须全部小写
2、{ "errcode":43101,"errmsg":"user refuse to accept the msg hint: [EW7iIa04390500]" } 用户拒绝接受消息
当前端使用wx.requestSubscribeMessage已经成功授权后还提示上面的错误,一般是由于后端配置的模板id和小程序的模板id不匹配导致的
3、{"errcode":47003,"errmsg":"argument invalid! data.date4.value invalid rid: 5f4084e5-7924012e-20ad3837"}
如果消息模板中定义了date,那么日期是不能包含时间的,在C#中使用DateTime.Now.ToShortDateString()截取年月日
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!