玩转微信公号开发(三)——消息的回复

这里说的消息回复,是指对用户发给公众号消息的同步回复,用户给公众号发了消息,开发者可以不回复,或者给该用户回复一条~~只一条

回复消息的格式如下:

1
2
3
4
5
6
7
  <xml>
    <ToUserName><![CDATA[orrnVjsadf-FbumIsdafZiBUFTw]]></ToUserName>
    <FromUserName><![CDATA[gh_fsadf942sdf9]]></FromUserName>
    <CreateTime>1390889296</CreateTime>
    <MsgType><![CDATA[text]]></MsgType>
    <Content><![CDATA[你好]]></Content>
  </xml>

虽然消息里第一项就是ToUserName,但是~~这里只能回复给当前发送消息的用户,写别的用户是无效的

    MsgType包括下面几个类型:

  • text,文本
  • image,图片
  • voice,语音
  • video,视频
  • music,音乐
  • news,图文

文本

即开篇的那个例子,Content是文本内容~~~告诉大家一个官方文档没有的小秘密:使用a标签,可以给消息添加链接

图片

1
2
3
4
5
6
7
8
9
  <xml>
    <ToUserName><![CDATA[orrnVjsadf-FbumIsdafZiBUFTw]]></ToUserName>
    <FromUserName><![CDATA[gh_fsadf942sdf9]]></FromUserName>
    <CreateTime>1390889296</CreateTime>
    <MsgType><![CDATA[image]]></MsgType>
   <Image>
     <MediaId><![CDATA[media_id]]></MediaId>
   </Image>
  </xml>

图片,以及下面的视频、音频里的media_id,首先要通过微信的上传多媒体文件接口获得,详细的情况,以后会讲到

语音

1
2
3
4
5
6
7
8
9
  <xml>
    <ToUserName><![CDATA[orrnVjsadf-FbumIsdafZiBUFTw]]></ToUserName>
    <FromUserName><![CDATA[gh_fsadf942sdf9]]></FromUserName>
    <CreateTime>1390889296</CreateTime>
    <MsgType><![CDATA[voice]]></MsgType>
    <Voice>
      <MediaId><![CDATA[media_id]]></MediaId>
    </Voice>
  </xml>

~没啥可说的,和图片类似

视频

1
2
3
4
5
6
7
8
9
10
11
  <xml>
    <ToUserName><![CDATA[orrnVjsadf-FbumIsdafZiBUFTw]]></ToUserName>
    <FromUserName><![CDATA[gh_fsadf942sdf9]]></FromUserName>
    <CreateTime>1390889296</CreateTime>
    <MsgType><![CDATA[video]]></MsgType>
    <Video>
      <MediaId><![CDATA[media_id]]></MediaId>
      <Title><![CDATA[视频标题]]></Title>
      <Description><![CDATA[视频介绍]]></Description>
    </Video> 
  </xml>

音乐

1
2
3
4
5
6
7
8
9
10
11
12
13
  <xml>
    <ToUserName><![CDATA[orrnVjsadf-FbumIsdafZiBUFTw]]></ToUserName>
    <FromUserName><![CDATA[gh_fsadf942sdf9]]></FromUserName>
    <CreateTime>1390889296</CreateTime>
    <MsgType><![CDATA[video]]></MsgType>
    <Music>
      <Title><![CDATA[音乐标题]]></Title>
      <Description><![CDATA[音乐介绍]]></Description>
      <MusicUrl><![CDATA[音乐链接]]></MusicUrl>
      <HQMusicUrl><![CDATA[WIFI环境优先使用的高质量音乐链接]]></HQMusicUrl>
      <ThumbMediaId><![CDATA[media_id~缩略图的媒体id]]></ThumbMediaId>
    </Music> 
  </xml>

图文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<xml>
  <ToUserName><![CDATA[orrnVjsadf-FbumIsdafZiBUFTw]]></ToUserName>
  <FromUserName><![CDATA[gh_fsadf942sdf9]]></FromUserName>
  <CreateTime>1390889296</CreateTime>
  <MsgType><![CDATA[news]]></MsgType>
  <ArticleCount>5</ArticleCount>
  <Articles>
    <item>
      <Title><![CDATA[标题1]]></Title>
      <PicUrl><![CDATA[http://y1.ifengimg.com/2014/01/28/14023732.jpg]]></PicUrl>
      <Url><![CDATA[http://xxxx.xxx.com/index]]></Url>
    </item>
    <item>
      <Title><![CDATA[标题2]]></Title>
      <PicUrl><![CDATA[http://xxxx.xxx.com/xxx.png]]></PicUrl>
      <Url><![CDATA[http://xxxx.xxx.com/index]]></Url>
    </item>
    ......  
  </Articles>
</xml>

ArticleCount,是item子项的数量

图文的第一条,会以大图显示,推荐尺寸720*400,不同的尺寸在不同的手机上显示效果差别很大,可能左右也可能上下被遮住

除第一条外,其他的图文里的图,都只显示小icon,所以我们用的时候,统一用了一个向右的箭头

最后,来说一个不常用,但对于新手很重要的东西:网关的验证消息怎么回复

太简单了~~直接输出get参数里的echostr

————
转载请注明出处:http://www.jiangkl.com/2014/01/weixin_msg_2/

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

*