在用tp5写微信公众号开发过程中,当用户向公众号发送文本消息时,回调返回的xml字符串中ToUserName居然为空(即用户发送的微信号为空)。
<xml>
<ToUserName><![CDATA[]]></ToUserName>
<FromUserName><![CDATA[******]]></FromUserName>
<CreateTime>1475662370</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[Welcome to wechat world!]]>
</Content><FuncFlag>0</FuncFlag>
</xml>
于是我将该用户的账号要来看了一下,确实未设置过微信号,用手机号注册的。于是我设置了该微信的微信号后,再次发送,仍然为空,当时给我郁闷的。。。
后来我将微信退了,重新进入再发送,发现ToUseraName居然有值了。
除了上面这种情况,还有一种可能就是在微信公众号开发者基本配置里消息设置为“ 安全模式”
这种情况是需要将消息体解密方可被动回复消息。
写下此文来纪念此次排错中折腾的2小时。
初学者极好的教程:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html