微信公众平台开发 第三篇

一、接收普通消息

1、文本消息

<xml>
<ToUserName><![CDATA[gh_96f57ea6fc15]]></ToUserName>
<FromUserName><![CDATA[oIsWAuMNKby_c8-DhObyRTHGpJlM]]></FromUserName>
<CreateTime>1394676182</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[你好]]></Content>
<MsgId>5990088590400222066</MsgId>
</xml>

2、图片消息(表情不属于图片,属于文本消息)

<xml>
<ToUserName><![CDATA[gh_96f57ea6fc15]]></ToUserName>
<FromUserName><![CDATA[oIsWAuMNKby_c8-DhObyRTHGpJlM]]></FromUserName>
<CreateTime>1394693868</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA
[http://mmbiz.qpic.cn/mmbiz/obmLDFGswDKf4ob9Tia6Lbuz5vIDIMGMvmt110MbXicY54nxTJtBicS7jVUGibUQQ0SChWjb5MkEy2gcpfV75KYu5w/0]]></PicUrl>
<MsgId>5990164551191820194</MsgId>
<MediaId><![CDATA[NarN9z6bjBMU4BUWjZGDl4PdozuAaPaB2JYxTRAvG6G6sF9c5Ixj5CZpSbj0IpFB]]></MediaId>
</xml>

3、语音消息

<xml>
<ToUserName><![CDATA[gh_96f57ea6fc15]]></ToUserName>
<FromUserName><![CDATA[oIsWAuMNKby_c8-DhObyRTHGpJlM]]></FromUserName>
<CreateTime>1394698844</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[xXi4bPI48TlBpynPcMFXAG8onkqAeRZJpGm-ab1c3B3-P86Xs_ZtU-fvan0rsuE5]]></MediaId>
<Format><![CDATA[amr]]></Format>
<MsgId>5990185922949085301</MsgId>
<Recognition><![CDATA[]]></Recognition>
</xml>

注:Format 语音格式,如amr,speex等

4、视频消息、地理位置、消息链接消息

请参见官方文档:http://mp.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%99%AE%E9%80%9A%E6%B6%88%E6%81%AF

二、接收事件推送

1、自定义菜单事件

<xml>
<ToUserName><![CDATA[gh_96f57ea6fc15]]></ToUserName>
<FromUserName><![CDATA[oIsWAuMNKby_c8-DhObyRTHGpJlM]]></FromUserName>
<CreateTime>1394695937</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[V1_MY_ACCOUNT]]></EventKey>
</xml>

注:EventKey 事件KEY值,与创建自定义菜单时设置的KEY值对应。

2、关注/取消关注事件

<xml>
<ToUserName><![CDATA[gh_96f57ea6fc15]]></ToUserName>
<FromUserName><![CDATA[oIsWAuIJAVhyLbXAz3cox256h-8o]]></FromUserName>
<CreateTime>1394700746</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
<EventKey><![CDATA[]]></EventKey>
</xml>

注:Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)

3、扫描带参数二维码事件、上报地理位置事件

请参见官方文档:http://mp.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E4%BA%8B%E4%BB%B6%E6%8E%A8%E9%80%81

三、发送(回复)被动响应消息

请参见官方文档:http://mp.weixin.qq.com/wiki/index.php?title=%E5%8F%91%E9%80%81%E8%A2%AB%E5%8A%A8%E5%93%8D%E5%BA%94%E6%B6%88%E6%81%AF

注:回复文本加链接消息,其中href要加http头,完整地址。FuncFlag有0和1,1表示星标刚收到的消息。

微信中两种错误使用超链接的方法:

错误用法1(a标签的href属性值未被引号引起):
<a href=http://www.baidu.com>百度</a>

错误用法2(a标签的href属性值被单引号引起):
<a href='http://www.baidu.com'>百度</a>

正确的用法是将a标签href属性的值用双引号引起,代码如下:
<a href="http://www.baidu.com">百度</a>

<xml>
<ToUserName><![CDATA[" + evtModel.FromUserName + "]]></ToUserName>
<FromUserName><![CDATA[" + evtModel.ToUserName + "]]></FromUserName>
<CreateTime>" + ConvertDateTimeInt(DateTime.Now) + "</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[会员帐号绑定,可查询账户信息。<a href="http://www.tuanfubao.cn/" >立即绑定</a>]]></Content>
<FuncFlag>0</FuncFlag>
</xml>

回复图文消息中的图片大小最好是 大图640*320 小图80*80。

PS:最后推荐网上一个比较好的教程 http://www.cnblogs.com/mchina/

原文地址:https://www.cnblogs.com/EricaMIN1987_IT/p/3599198.html