当用户在公号内微信推给开发者服务器的是这样一个xml
1 2 3 4 5 6 7 8 | <xml> <ToUserName><![CDATA[gh_fsadfe942b39]]></ToUserName> <FromUserName><![CDATA[orrnsdfsdfLom-FsssD1wZiBUFTw]]></FromUserName> <CreateTime>1390809909</CreateTime> <MsgType><![CDATA[event]]></MsgType> <Event><![CDATA[subscribe]]></Event> <EventKey><![CDATA[]]></EventKey> </xml> |
或者这样:
1 2 3 4 5 6 7 8 | <xml> <ToUserName><![CDATA[gh_fsadfe942b39]]></ToUserName> <FromUserName><![CDATA[orrnsdfsdfLom-FsssD1wZiBUFTw]]></FromUserName> <CreateTime>1390810725</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[你好]]></Content> <MsgId>5973123479001063148</MsgId> </xml> |
- ToUserName,是公号的标示
- FromUserName,是用户的openId,如果要针对特定用户做什么事,这个字段会很有用
- MsgType,消息类型,比如event、text、location、image等
- CreateTime
最基本的是如下四个字段:
- event
- text
- location
- image
- link,网页
除了两个UserName和MsgType,每一种MsgType,xml还会包含如下字段:
- Event,具体的事件类型
EventKey,事件的具体信息
- Content,用户给公号发送的信息内容
MsgId
- Location_X,纬度
Location_Y,精度
Scale,地图缩放
Label,地点名称
MsgId
- PicUrl,图片内容
MsgId
MediaId,媒体id,貌似可以拿这个图片再做别的用途
- Title,标题
Description,部分内容
Url,页面弟子
MsgId
另外还有语音、视频等类型,以后用到的时候再补充~~
- subscribe,新用户关注,当然,也可能是再次关注
- unsubscribe,取消关注
- validate_url,微信后台测试开发者网关,只在设置网管是才会有
- CLICK,菜单点击
常用的事件类型包括如下几个(MsgType为event时)
好的,今天就到这儿。。。
什么,你问怎么得到消息?
微信通过post将xml给开发者服务器,php里,通过$GLOBALS["HTTP_RAW_POST_DATA"]接收~~~xml怎么解析?我是用的simplexml_load_string,不太好用,应该还有更好用的xml解析工具