微信小程序消息配置问题汇总

一、消息推送配置

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()截取年月日

posted @   codeIsArt  阅读(3968)  评论(0编辑  收藏  举报
编辑推荐:
· 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,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示