微信开发学习(二)
学习发送微信的消息类型。
当发送消息时,同时会附加的参数有,signature,timestamp,nonce, 以及消息的XML数据包。
数据包格式,类似:
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[type]]</MsgType>
<Content><!CDATA[content]]</Content>
<MsgId>xxxxxx</MsgId>
</xml>
收到原始数据的代码:
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
将原始数据转变为对象:
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
1. 文本消息
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[text]]</MsgType>
<Content><!CDATA[content]]</Content>
<MsgId>xxxxxx</MsgId>
</xml>
2. 图片消息
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[image]]</MsgType>
<PicUrl><!CDATA[http://xxxxxx]]</PicUrl>
<MsgId>xxxxxx</MsgId>
<MediaId><![CDATA[xxxxxx]]></MediaId>
</xml>
3. 语音消息
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[voice]]</MsgType>
<MediaId><![CDATA[xxxxxx]]></MediaId>
<Format><![CDATA[amr]]></Format>
<MsgId>xxxxxx</MsgId>
<Recognition><![CDATA[]]></Recognition>
</xml>
4.视频消息
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[video]]</MsgType>
<MediaId><![CDATA[xxxxxx]]></MediaId>
<ThumbMediaId><![CDATA[xxxx]]></ThumbMediaId>
<MsgId>xxxxxx</MsgId>
</xml>
5.地理位置消息
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[location]]</MsgType>
<Location_X>xxxxx</Location_X>
<Location_Y>xxxx<Location_Y>
<Scale>xx</Scale>
<Label><![CDATA[xxxxxx]]></Label>
<MsgId>xxxxxx</MsgId>
</xml>
6.连接消息
<xml>
<ToUserName><![CDATA[tousername]]></ToUserName>
<FromUserName><![CDATA[fromusername]]></FromUserName>
<CreateTime><!CDATA[createtime]]</CreateTime>
<MsgType><!CDATA[link]]</MsgType>
<Title><![CDATA[xxxxxx]]></Title>
<Description><![CDATA[xxxx]]></Description>
<Url><![CDATA[xxxx]]></Url>
<MsgId>xxxxxx</MsgId>
</xml>