天天看點

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

本節書摘來自華章出版社《微信公衆平台開發最佳實踐》一 書中的第3章,第3.2節,作者:方倍工作室,更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

微信公衆賬号能夠回複使用者發送的六種類型的消息:文本、圖檔、語音、視訊、音樂、圖文。其中圖文又可分為單圖文和多圖文。下面将分别介紹這幾種消息。

微信公衆賬号向使用者回複文本消息的示例如圖3-7所示。

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

微信公衆賬号回複使用者文本消息時的xml資料格式如下所示:

jlmc]]>

username>

<code>`</code>

公衆賬号回複圖檔消息的參數及描述如表3-8所示。

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

微信公衆賬号向使用者回複語音消息的示例如圖3-9所示。

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

微信公衆賬号回複使用者語音消息時的xml資料格式如下所示:

4h0cr05asjds8pq3tlntwpukrfje-ipfgv]]&gt;

c0zsrztj0vd6zxwdmy9iylyp-d5_blwtru0pwihi]]&gt;

公衆賬号回複視訊消息的參數及描述如表3-10所示。

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

微信公衆賬号向使用者回複音樂消息的示例如圖3-11所示。

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

.

微信公衆賬号回複使用者音樂消息時的xml資料格式如下所示:

微信公衆賬号向使用者回複多圖文消息的示例如圖3-13所示。

《微信公衆平台開發最佳實踐》——3.2 發送被動響應消息

微信公衆賬号回複使用者多圖文消息時的xml資料格式如下所示:

&lt;?php

//

// 響應使用者消息

// 微信公衆賬号響應給使用者的不同消息類型

define("token", "weixin");

$wechatobj = new wechatcallbackapitest();

if (!isset($_get['echostr'])) {

}else{

}

class wechatcallbackapitest

{

"picurl"=&gt;"http://discuz.comli.com/weixin/weather/icon/cartoon.jpg", "url" =&gt;"http://m.cnblogs.com/?u=txw1958");

%s

text

";

image

$item_str

voice

['thumbmediaid'], $videoarray['title'], $videoarray['description']);

video

news

]]&gt;&lt;/content&gt;&lt;br&gt;&lt;articlecount&gt;%s&lt;/articlecount&gt;&lt;br&gt;&lt;articles&gt;&lt;br&gt;$item_str&lt;/articles&gt;&lt;br&gt;&lt;/xml&gt;";&lt;/p&gt;&lt;pre&gt;&lt;code&gt; $result = sprintf($newstpl, $object-&amp;gt;fromusername, $object-&amp;gt; tousername, time(), count($arr_item));

return $result;

/*

* 回複音樂消息

*/

private function transmitmusic($object, $musicarray)

$itemtpl = &amp;quot;&amp;lt;music&amp;gt;

&amp;lt;title&amp;gt;&amp;lt;![cdata[%s]]&amp;gt;&amp;lt;/title&amp;gt;

&amp;lt;description&amp;gt;&amp;lt;![cdata[%s]]&amp;gt;&amp;lt;/description&amp;gt;

&amp;lt;musicurl&amp;gt;&amp;lt;![cdata[%s]]&amp;gt;&amp;lt;/musicurl&amp;gt;

&amp;lt;hqmusicurl&amp;gt;&amp;lt;![cdata[%s]]&amp;gt;&amp;lt;/hqmusicurl&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;/music&gt;";&lt;/p&gt;&lt;pre&gt;&lt;code&gt; $item_str = sprintf($itemtpl, $musicarray['title'], $musicarray ['description'], $musicarray['musicurl'], $musicarray['hqmusicurl']);

$texttpl = &amp;quot;&amp;lt;xml&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;tousername&gt;&lt;![cdata[%s

music

?&gt;<code>`</code>

在上面的代碼中,回複文本、圖文(包括單圖文和多圖文)、音樂三種消息,是使用直接構造響應消息類型實作的,而圖檔、語音、視訊三種消息需要mediaid參數,在這裡直接使用使用者發送過來的消息中的mediaid,然後組裝成響應消息回複