解决:该公众号提供的服务出现故障,请稍后重试

版权声明:如果您觉得此文有用或对您有帮助,请不吝点个赞或留个言,哈哈! https://blog.csdn.net/fanrenxiang/article/details/80877600

最近在进行微信公众号接口开发,做到自动回复的接口开发时,我按照接入指南接口文档开发好功能后,推上线了测试(你也可以使用ngrok内网穿透)调试发现:总是出现该公众号提供的服务出现故障,请稍后重试的提示。导致这个问题的情况有很多,本篇只是说我所遇到的,希望对看官有帮助。

说实话,微信接入自己的接口开发里面会有非常多的坑,经过好一番折腾,终于解决了,记录下解决方案。

情况1:你的接口返回值里面有空格

犯错率:5星

(我的就是这个错误)结合微信接口文档里面的说明(以被动回复用户信息为例):

可以看到接口文档里面的返回值

<xml> <ToUserName>< ![CDATA[toUser] ]></ToUserName> <FromUserName>< ![CDATA[fromUser] ]></FromUserName> <CreateTime>12345678</CreateTime> <MsgType>< ![CDATA[text] ]></MsgType> <Content>< ![CDATA[你好] ]></Content> </xml>

里面包含了大量的空格,这是致命性的,接口文档里面没有特别说明这些空格的处理,所以这也是一个巨坑了,去掉xml中的所有空格就ok(尤其要注意符号之间的空格,请严格检查)。

情况2:接口返回值的字段取值不对

犯错率:4星

还是以被动回复用户信息为例,同时结合接收普通消息接口说明

ToUserName、FromUserName参数值取错,这一点也很容易赋值错误,很多人(包括我)一开始ToUserName我取的就是接收普通消息接口里面的ToUserName、FromUserName,细思后发现,这是一个很搞笑的错误,显然这两个接口接收的主体对象是不一样的,也就是说,被动回复用户信息接口返回值里面的ToUserName、FromUserName参数值应该取值接收普通消息接口里面的FromUserName、ToUserName。

情况3:xml返回值的节点名不对

犯错率:4星

可以看到,被动回复用户信息接口xml返回值里面的节点名是Image,要是你写成小写的image,就gg了。

以上三点就是本人在对接微信消息管理一些列接口开发时采到的坑。如有疑问,欢迎留言。

阅读更多

扫码向博主提问

simonsfan

非学,无以致疑;非问,无以广识
  • 擅长领域:
  • java开发
  • 项目管理
  • 团队建设
去开通我的Chat快问
换一批

没有更多推荐了,返回首页