本节书摘来自华章出版社《微信公众平台开发最佳实践》一 书中的第3章,第3.2节,作者:方倍工作室,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
微信公众账号能够回复用户发送的六种类型的消息:文本、图片、语音、视频、音乐、图文。其中图文又可分为单图文和多图文。下面将分别介绍这几种消息。
微信公众账号向用户回复文本消息的示例如图3-7所示。

微信公众账号回复用户文本消息时的xml数据格式如下所示:
jlmc]]>
username>
<code>`</code>
公众账号回复图片消息的参数及描述如表3-8所示。
微信公众账号向用户回复语音消息的示例如图3-9所示。
微信公众账号回复用户语音消息时的xml数据格式如下所示:
4h0cr05asjds8pq3tlntwpukrfje-ipfgv]]>
c0zsrztj0vd6zxwdmy9iylyp-d5_blwtru0pwihi]]>
公众账号回复视频消息的参数及描述如表3-10所示。
微信公众账号向用户回复音乐消息的示例如图3-11所示。
.
微信公众账号回复用户音乐消息时的xml数据格式如下所示:
微信公众账号向用户回复多图文消息的示例如图3-13所示。
微信公众账号回复用户多图文消息时的xml数据格式如下所示:
<?php
//
// 响应用户消息
// 微信公众账号响应给用户的不同消息类型
define("token", "weixin");
$wechatobj = new wechatcallbackapitest();
if (!isset($_get['echostr'])) {
}else{
}
class wechatcallbackapitest
{
"picurl"=>"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "url" =>"http://m.cnblogs.com/?u=txw1958");
%s
text
";
image
$item_str
voice
['thumbmediaid'], $videoarray['title'], $videoarray['description']);
video
news
]]></content><br><articlecount>%s</articlecount><br><articles><br>$item_str</articles><br></xml>";</p><pre><code> $result = sprintf($newstpl, $object-&gt;fromusername, $object-&gt; tousername, time(), count($arr_item));
return $result;
/*
* 回复音乐消息
*/
private function transmitmusic($object, $musicarray)
$itemtpl = &quot;&lt;music&gt;
&lt;title&gt;&lt;![cdata[%s]]&gt;&lt;/title&gt;
&lt;description&gt;&lt;![cdata[%s]]&gt;&lt;/description&gt;
&lt;musicurl&gt;&lt;![cdata[%s]]&gt;&lt;/musicurl&gt;
&lt;hqmusicurl&gt;&lt;![cdata[%s]]&gt;&lt;/hqmusicurl&gt;</code></pre><p></music>";</p><pre><code> $item_str = sprintf($itemtpl, $musicarray['title'], $musicarray ['description'], $musicarray['musicurl'], $musicarray['hqmusicurl']);
$texttpl = &quot;&lt;xml&gt;</code></pre><p><tousername><![cdata[%s
music
?><code>`</code>
在上面的代码中,回复文本、图文(包括单图文和多图文)、音乐三种消息,是使用直接构造响应消息类型实现的,而图片、语音、视频三种消息需要mediaid参数,在这里直接使用用户发送过来的消息中的mediaid,然后组装成响应消息回复