最近在研究微信公众号开发,在验签成功后 对接接口出现了一些问题:
用户请求成功,后台接口也进入了相应的方法,值也有了。然而公众号出现提示信息“该公众号提供的服务出现故障,请稍后再试”。
网上搜索相关资源,主要都是说标签大小写的问题。但是我返回的数据格式如下:
我这里的问题不是标签大小写的问题。
到这里,就只能自己一步一步排查什么原因了。后来通过多个用户、多组数据对比才发现了问题所在。
原来,在被动回复用户消息时候ToUserName是开发者的公众号的原是ID:
而微信开发文档上面是接收方ID:
这里在排除其他原因后就是这个原因了:被动回复用户信息时ToUserName是开发者的公众号的原是ID,而FromUserName是微信服务端发来的用户账号ID。
综上:返回值实体中将setToUserName值设置为fromUserName,setFromUserName值设置为toUserName,问题就解决了
后面我再去百度了一下为什么会将两个值设为反的,找到一篇博客上面有 用户发送信息给订阅号,订阅号回复用户,整个过程。其流程图如下:
以上流程图来自:https://blog.csdn.net/puspos/article/details/84306570
以上内容,欢迎指正!