在這篇微信公衆平臺開發教程中,咱們假定你已經有了PHP語言程序、MySQL數據庫、計算機網絡通信、及HTTP/XML/CSS/JS等基礎。php
本系列教程將引導你完成以下任務:html
第一章 申請服務器資源web
建立新浪雲計算應用數據庫
申請帳號api
咱們使用SAE新浪雲計算平臺做爲服務器資源,而且申請PHP環境+MySQL數據庫做爲程序運行環境。
申請地址爲:瀏覽器
http://www.sinacloud.com/安全
點擊進入以後,使用新浪微博帳號登陸 服務器
登陸以後,按照提示註冊我的信息便可。 微信
建立新應用 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 網絡
回到首頁,在菜單頂部選擇 控制檯 ,再選擇 雲應用SAE 。
進入SAE應用列表
點擊下側的建立新應用,這時會彈出提示, 禁止放置違法違規內容,點擊繼續建立,彈出以下窗口。
開發語言選擇PHP,運行環境爲標準環境,語言版本5.3。二級域名本身想一個名字,也能夠就直接用本身的QQ號。應用名稱能夠用系統默認填的。
而後點擊左下方的建立應用
應用建立成功。並自動跳轉到應用列表中,能夠看到已經有剛纔建立的1354386063這個應用。
建立版本 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
點擊剛纔建立的應用名稱,進入應用主頁。
點擊左側的應用管理下面的代碼管理,
在代碼管理中,選擇使用SVN託管的方式。不要使用雲空間和Git的方式!
跳轉到代碼管理
點擊右側的「建立版本」
版本號默認爲1,點擊建立,有時會彈出安全登陸,須要輸入安全密碼,若是不知道或者忘記了,就點裏面的找回密碼,從新設置一下。:
驗證經過以後,以下所示
到這裏,就成功建立了一個域名URL爲 http://1354386063.sinaapp.com/ 的應用了,記住你的這個URL,後面將會用到。
原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
上傳代碼 http://www.cnblogs.com/txw1958/p/wechat-tutorial.html
下述代碼是一個微信接口文件,看不懂沒有關係,你能夠暫時不用弄明白它的意思。
<?php
/*
方倍工做室 http://www.cnblogs.com/txw1958/
CopyRight 2013 www.fangbei.org All Rights Reserved
*/
header('Content-type:text');
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
if (isset($_GET['echostr'])) {
$wechatObj->valid();
}else{
$wechatObj->responseMsg();
}
class wechatCallbackapiTest
{
public function valid()
{
$echoStr = $_GET["echostr"];
if($this->checkSignature()){
header('content-type:text');
echo $echoStr;
exit;
}
}
private function checkSignature()
{
$signature = $_GET["signature"];
$timestamp = $_GET["timestamp"];
$nonce = $_GET["nonce"];
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr, SORT_STRING);
$tmpStr = implode( $tmpArr );
$tmpStr = sha1( $tmpStr );
if( $tmpStr == $signature ){
return true;
}else{
return false;
}
}
public function responseMsg()
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = trim($postObj->Content);
$time = time();
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[%s]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>";
if($keyword == "?" || $keyword == "?")
{
$msgType = "text";
$contentStr = date("Y-m-d H:i:s",time());
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
}else{
echo "";
exit;
}
}
}
?>
咱們將使用上述代碼與微信公衆平臺對接。直接下載方倍工做室已經壓縮好的上述代碼的zip文件。點此進入下載
回到SAE的代碼管理界面中。
再選擇「上傳代碼包」,點擊上傳文件,選擇剛纔的index.zip文件,點擊上傳,上傳成功後中間是一個綠色的橫條,以下所示
若是沒有綠色的橫條,表示上傳失敗,須要重試。能夠考慮在Chrome瀏覽器下重試一下。
點擊編輯代碼按鈕,
有時候須要輸入本身的安全密碼,若是不記得了就點擊「找回密碼」。
安全驗證成功後繼續以前的操做。
咱們能夠看到index.php已經上傳成功,雙擊能夠查看編輯裏面的代碼
新浪雲應用的建立就成功了。
經測試,有的應用會自動出現一個叫index.html的文件,右鍵點擊該文件,並刪除!!
只須要咱們本身上傳的index.php和config.yaml文件就能夠了。多餘的要刪除!!!
實名認證
新浪SAE要求用戶實名認證以後才能正常使用新浪雲。實名認證是免費的。認證後可得到200個雲豆。
在左側目錄列表中,找到實名認證目錄,在頁面中上傳身份證並等待審覈,審覈成功以後,以下圖所示。
充值(本步驟可選擇性進行)
新浪雲SAE實行的是配額免費+超額付費的方式,相關標準請查看SAE價格體系介紹。初期對於大部分用戶來講免費配額已夠用,若是您未來使用量比較大建議預先至少充值100元得到10000雲豆,以避免超額後應用被禁用而影響業務。
第二章 啓用開發模式
微信公衆平臺開發模式
①我的開發者使用測試號
我的學習開發建議使用測試號
微信測試號地址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
登陸後,在接口配置信息中填寫剛纔生成的URL地址和Token.
URL地址就是QQ號的二級域名地址:http://1.1354386063.applinzi.com/ 或者 http://1354386063.applinzi.com/均可以。
Token在程序中固定爲 weixin
填寫好提交
頂部顯示配置成功
若是提示「token驗證失敗」,多重次幾回。
②企業開發者而且有訂閱號或者服務號
微信公衆平臺地址:https://mp.weixin.qq.com
登陸微信公衆平臺後臺,在左側列表中最下方,找到「 基本配置 」,點擊進入
進入服務器配置填寫框。
點擊「修改配置」按鈕
此處的URL爲上篇中介紹的雲應用的域名,而Token在index.php中定義爲weixin。EncodingAESKey則不用填,點擊「隨機生成」讓自動生成一個,消息加解密方式選擇「明文模式」,而後點擊「提交」按鈕。
在彈出的提示框中,點擊「肯定」
配置修改後如圖所示,再點擊「啓用」按鈕
詢問「是否肯定開啓服務器配置」,點擊「肯定」
若是提示「token驗證失敗」,能夠先重次幾回,微信服務器有時候不穩定。另外新浪SAE要求進行實名認證,請先上傳身份證進行實名認證並經過審覈後再試!
若是仍是失敗,請先用微信調試器測試一下url和token是否正確,點此查看詳細測試方法。
成功啓用後如圖。
恭喜,你成功啓用開發模式。
自動回覆
在上面的例子中,實現了一個發送「?」就能回覆當前時間的功能。
效果以下:
至此,你的微信公衆平臺帳號已經實現自動回覆了。
第三章 經常使用消息類型接收與發送
全能型消息代碼代碼
你能夠從淘寶中購買咱們的全能版微信開發入門教程代碼,僅須要¥1元,支持一下咱們。購買地址:https://item.taobao.com/item.htm?id=544855951304
按照上述一樣的方法配置到接口中,能夠體驗到更多,更強的功能。
效果圖以下
你將體驗到微信公衆帳號中最多見的接收消息及發送消息的類型。
第四章 數據收發原理及消息數據格式
★ 本章是理論部分,初學者會比較難以理解,不用太過追究,看不懂能夠跳過去。
開發模式成爲開發者時的消息校驗原理
在開發者首次提交驗證申請時,微信服務器將發送GET請求到填寫的URL上,而且帶上四個參數(signature、timestamp、nonce、echostr),開發者經過對簽名(即signature)的效驗,來判斷此條消息的真實性。
此後,每次開發者接收用戶消息的時候,微信也都會帶上前面三個參數(signature、timestamp、nonce)訪問開發者設置的URL,開發者依然經過對簽名的效驗判斷此條消息的真實性。效驗方式與首次提交驗證申請一致。
參數 | 描述 |
---|---|
signature | 微信加密簽名,signature結合了開發者填寫的token參數和請求中的timestamp參數、nonce參數。 |
timestamp | 時間戳 |
nonce | 隨機數 |
echostr | 隨機字符串 |
開發者經過檢驗signature對請求進行校驗(下面有校驗方式)。若確認這次GET請求來自微信服務器,請原樣返回echostr參數內容,則接入生效,成爲開發者成功,不然接入失敗。
加密/校驗流程以下:
1. 將token、timestamp、nonce三個參數進行字典序排序
2. 將三個參數字符串拼接成一個字符串進行sha1加密
3. 開發者得到加密後的字符串可與signature對比,標識該請求來源於微信
啓用接口是由代碼中的checkSignature()函數來實現校驗的。若是對這一原理難以理解,能夠暫時不用深究,繼續看下面。
成爲開發者後消息收發時的原理
上一章節中圖,當用戶發送一個「?」時,系統回覆了一個時間
這一原理的消息流程圖以下所示。
從上圖能夠看出,用戶在發送一個?後,微信服務器將組裝一個消息發送給咱們本身的服務器,本身的服務器而後回覆一個時間,而且將該時間也按必定的規則組裝,回覆給公衆帳號,公衆帳號再回復給用戶,在這個收發過程當中,發送方和接收方進行了調換(ToUserName和FromUserName值互換),收發都是以xml格式在後臺進行傳輸的,
因此掌握各類消息類型的接收回復就是進行微信公衆平臺開發的基礎!
下面對前面所述的各類消息類型講解其XML數據包的格式。
各類收發消息的XML數據包分析
接收消息
1. 文本(包括表情)
接收文本及表情
文字後臺格式:
<xml>
<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359028446</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[測試文字]]></Content>
<MsgId>5836982729904121631</MsgId>
</xml>
表情後臺格式
<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359044526</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[/::)/::~/::B/::|/:8-)]]></Content>
<MsgId>5837051792978241864</MsgId>
</xml>
XML格式講解
ToUserName 消息接收方微信號,通常爲公衆平臺帳號微信號
FromUserName 消息發送方微信號
CreateTime 消息建立時間
MsgType 消息類型;文本消息爲text
Content 消息內容
MsgId 消息ID號
能夠看出,文本和表情的消息類型均爲文本
2. 圖片
接收圖片
後臺格式:
<xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359028479</CreateTime>
<MsgType><![CDATA[image]]></MsgType>
<PicUrl><![CDATA[http://mmbiz.qpic.cn/mmbiz/L4qjYtOibummHn90t1mnaibYiaR8ljyicF3MW7XX3BLp1qZgUb7CtZ0DxqYFI4uAQH1FWs3hUicpibjF0pOqLEQyDMlg/0]]></PicUrl>
<MsgId>5836982871638042400</MsgId>
<MediaId><![CDATA[PGKsO3LAgbVTsFYO7FGu51KUYa07D0C_Nozz2fn1z6VYtHOsF59PTFl0vagGxkVH]]></MediaId>
</xml>
XML格式講解
ToUserName 消息接收方微信號,通常爲公衆平臺帳號微信號
FromUserName 消息發送方微信號
CreateTime 消息建立時間
MsgType 消息類型;圖片消息爲image
PicUrl 圖片連接地址,能夠用HTTP GET獲取
MsgId 消息ID號
3. 語音
接收語音
後臺格式:
<xml>
<ToUserName><![CDATA[gh_d035bb259cf5]]></ToUserName>
<FromUserName><![CDATA[owEUGj4BW8yeWRvyEERiVGKwAF1Q]]></FromUserName>
<CreateTime>1364883809</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<MediaId><![CDATA[JfmCezZ3Cwp0FwUvMADwwhvp-XScuvpictubpw0c6ALyA8tj3HLU4PoXzMpIY72P]]></MediaId>
<Format><![CDATA[amr]]></Format>
<MsgId>5862131322594912688</MsgId>
</xml>
XML格式講解
ToUserName 消息接收方微信號,通常爲公衆平臺帳號微信號
FromUserName 消息發送方微信號
CreateTime 消息建立時間
MsgType 消息類型;語音消息爲voice
MediaId 媒體ID
Format 語音格式,這裏爲amr
MsgId 消息ID號
附:AMR接口簡介
全稱Adaptive Multi-Rate,主要用於移動設備的音頻,壓縮比比較大,但相對其餘的壓縮格式質量比較差,因爲多用於人聲,通話,效果仍是很不錯的。
4. 視頻
接收視頻
後臺格式:
xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359028186</CreateTime>
<MsgType><![CDATA[video]]></MsgType>
<MediaId><![CDATA[DBVFRIj29LB2hxuYpc0R6VLyxwgyCHZPbRj_IIs6YaGhutyXUKtFSDcSCPeoqUYr]]></MediaId>
<ThumbMediaId><![CDATA[mxUJ5gcCeesJwx2T9qsk62YzIclCP_HnRdfTQcojlPeT2G9Q3d22UkSLyBFLZ01J]]></ThumbMediaId>
<MsgId>5836981613212624665</MsgId>
</xml>
XML格式講解
ToUserName 消息接收方微信號,通常爲公衆平臺帳號微信號
FromUserName 消息發送方微信號
CreateTime 消息建立時間
MsgType 消息類型;視頻消息爲video
MediaId 媒體ID
ThumbMediaId 媒體縮略ID?
MsgId 消息ID號
5. 位置
接收位置
後臺格式:
<xml>
<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1359036619</CreateTime>
<MsgType><![CDATA[location]]></MsgType>
<Location_X>22.539968</Location_X>
<Location_Y>113.954980</Location_Y>
<Scale>16</Scale>
<Label><![CDATA[中國廣東省深圳市南山區華僑城深南大道9789號 郵政編碼: 518057]]></Label>
<MsgId>5837017832671832047</MsgId>
</xml>
XML格式講解
ToUserName 消息接收方微信號,通常爲公衆平臺帳號微信號
FromUserName 消息發送方微信號
CreateTime 消息建立時間
MsgType 消息類型,地理位置爲location
Location_X 地理位置緯度
Location_Y 地理位置經度
Scale 地圖縮放大小
Label 地理位置信息
MsgId 消息ID號
6. 連接
接收連接
後臺格式:
<xml>
<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjl2LYdfTAM-oxDgB4XZcnc8]]></FromUserName>
<CreateTime>1359709372</CreateTime>
<MsgType><![CDATA[link]]></MsgType>
<Title><![CDATA[微信公衆平臺開發者的江湖]]></Title>
<Description><![CDATA[陳坤的微信公衆號這段時間大火,你們..]]></Description>
<Url><![CDATA[http://israel.duapp.com/web/photo.php]]></Url>
<MsgId>5839907284805129867</MsgId>
</xml>
XML格式講解
ToUserName 消息接收方微信號,通常爲公衆平臺帳號微信號
FromUserName 消息發送方微信號
CreateTime 消息建立時間
MsgType 消息類型,連接爲link
Title 圖文消息標題
Description 圖文消息描述
Url 點擊圖文消息跳轉連接
MsgId 消息ID號
回覆消息
只介紹三種格式的消息:文本、圖文、音樂。其中圖文消息包括單條圖文消息和多條圖文消息,展現方式有一點點不一樣。
1. 文本消息格式
回覆文本
後臺格式:
<xml>
<ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
<FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
<CreateTime>1359036631</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[【深圳】天氣實況 溫度:27℃ 溼度:59% 風速:東北風3級
11月03日 週日 27℃~23℃ 小雨 東北風4-5級
11月04日 週一 26℃~21℃ 陣雨 微風
11月05日 週二 27℃~22℃ 陰 微風]]></Content>
<FuncFlag>0</FuncFlag>
</xml>
XML格式講解
FromUserName 消息發送方
ToUserName 消息接收方
CreateTime 消息建立時間
MsgType 消息類型,文本消息必須填寫text
Content 消息內容,大小限制在2048字節,字段爲空爲不合法請求
FuncFlag 星標字段
2. 圖文消息格式
2.1 單條圖文消息
回覆單條圖文
後臺格式:
<xml>
<ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
<FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
<CreateTime>1359011899</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<Content><![CDATA[]]></Content>
<ArticleCount>1</ArticleCount>
<Articles>
<item>
<Title><![CDATA[[蘋果產品信息查詢]]></Title>
<Description><![CDATA[序列號:USE IMEI NUMBER
IMEI號:358031058974471
設備名稱:iPhone 5C
設備顏色:
設備容量:
激活狀態:已激活
電話支持:未過時[2014-01-13]
硬件保修:未過時[2014-10-14]
生產工廠:中國]]>
</Description>
<PicUrl><![CDATA[http://www.fangbei.org/weixin/weather/icon/banner.jpg]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
</Articles>
<FuncFlag>0</FuncFlag>
</xml>
2.2 多圖文消息
回覆多圖文
後臺數據格式
<xml>
<ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName>
<FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName>
<CreateTime>1359011829</CreateTime>
<MsgType><![CDATA[news]]></MsgType>
<Content><![CDATA[]]></Content>
<ArticleCount>5</ArticleCount>
<Articles>
<item>
<Title><![CDATA[【深圳】天氣實況 溫度:3℃ 溼度:43﹪ 風速:西南風2級]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.fangbei.org/weixin/weather/icon/banner.jpg]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
<item>
<Title><![CDATA[06月24日 週四 2℃~-7℃ 晴 北風3-4級轉東南風小於3級]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.fangbei.org/weixin/weather/icon/d00.gif]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
<item>
<Title><![CDATA[06月25日 週五 -1℃~-8℃ 晴 東南風小於3級轉東北風3-4級]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.fangbei.org/weixin/weather/icon/d00.gif]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
<item>
<Title><![CDATA[06月26日 週六 -1℃~-7℃ 多雲 東北風3-4級轉東南風小於3級]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.fangbei.org/weixin/weather/icon/d01.gif]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
<item>
<Title><![CDATA[06月27日 週日 0℃~-6℃ 多雲 東南風小於3級轉東北風3-4級]]></Title>
<Description><![CDATA[]]></Description>
<PicUrl><![CDATA[http://www.fangbei.org/weixin/weather/icon/d01.gif]]></PicUrl>
<Url><![CDATA[]]></Url>
</item>
</Articles>
<FuncFlag>0</FuncFlag>
</xml>
XML格式講解
FromUserName 消息發送方
ToUserName 消息接收方
CreateTime 消息建立時間
MsgType 消息類型,圖文消息必須填寫news
Content 消息內容,圖文消息可填空
ArticleCount 圖文消息個數,限制爲10條之內
Articles 多條圖文消息信息,默認第一個item爲大圖
Title 圖文消息標題
Description 圖文消息描述
PicUrl 圖片連接,支持JPG、PNG格式,較好的效果爲大圖640*320,小圖80*80
Url 點擊圖文消息跳轉連接
FuncFlag 星標字段
3. 音樂消息
回覆音樂消息
後臺格式:
<xml>
<ToUserName><![CDATA[ollB4jqgdO_cRnVXk_wRnSywgtQ8]]></ToUserName>
<FromUserName><![CDATA[gh_b629c48b653e]]></FromUserName>
<CreateTime>1372310544</CreateTime>
<MsgType><![CDATA[music]]></MsgType>
<Music>
<Title><![CDATA[最炫民族風]]></Title>
<Description><![CDATA[鳳凰傳奇]]></Description>
<MusicUrl><![CDATA[http://zj189.cn/zj/download/music/zxmzf.mp3]]></MusicUrl>
<HQMusicUrl><![CDATA[http://zj189.cn/zj/download/music/zxmzf.mp3]]></HQMusicUrl>
</Music>
<FuncFlag>0</FuncFlag>
</xml>
XML格式講解
ToUserName 接收方賬號(收到的OpenID)
FromUserName 開發者微信號
CreateTime 消息建立時間
MsgType 消息類型,此處爲music
Title 音樂標題
Description 音樂描述
MusicUrl 音樂連接
HQMusicUrl 高質量音樂連接,WIFI環境優先使用該連接播放音樂
FuncFlag 位0x0001被標誌時,星標剛收到的消息。
事件消息類型
目前用戶在關注和取消關注,以及點擊菜單的時候會自動向公衆平臺發送事件推送消息:
1. 關注事件
<xml>
<ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
<FromUserName><![CDATA[ollB4jv7LA3tydjviJp5V9qTU_kA]]></FromUserName>
<CreateTime>1372307736</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[subscribe]]></Event>
<EventKey><![CDATA[]]></EventKey>
</xml>
2. 取消關注事件
<xml>
<ToUserName><![CDATA[gh_b629c48b653e]]></ToUserName>
<FromUserName><![CDATA[ollB4jqgdO_cRnVXk_wRnSywgtQ8]]></FromUserName>
<CreateTime>1372309890</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[unsubscribe]]></Event>
<EventKey><![CDATA[]]></EventKey>
</xml>
3. 菜單點擊事件
<xml>
<ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName>
<FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName>
<CreateTime>1377886191</CreateTime>
<MsgType><![CDATA[event]]></MsgType>
<Event><![CDATA[CLICK]]></Event>
<EventKey><![CDATA[天氣深圳]]></EventKey>
</xml>
XML格式講解
ToUserName 接收方微信號
FromUserName 發送方微信號,若爲普通用戶,則是一個OpenID
CreateTime 消息建立時間
MsgType 消息類型,event
Event 事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)、CLICK(自定義菜單點擊事件)
EventKey 事件KEY值,與自定義菜單接口中KEY值對應
第五章 小結
總的來講,經過本教程,你獲得瞭如下收穫: