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

最近在进行微信公众号接口开发,做到自动回复的接口开发时,我按照接入指南接口文档开发好功能后,推上线了测试(你也可以使用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了。

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

猜你喜欢

转载自blog.csdn.net/fanrenxiang/article/details/80877600