微信公众号开发入门教程第一篇
關(guān)鍵字:微信公眾平臺(tái)開發(fā)
作者:方倍工作室
?
在這篇微信公眾平臺(tái)開發(fā)教程中,我們假定你已經(jīng)有了PHP語言程序、MySQL數(shù)據(jù)庫、計(jì)算機(jī)網(wǎng)絡(luò)通訊、及HTTP/XML/CSS/JS等基礎(chǔ)。
我們將使用微信公眾賬號(hào)方倍工作室作為講解的例子,二維碼見底部。
本系列教程將引導(dǎo)你完成如下任務(wù):
?
第一章 申請服務(wù)器資源
創(chuàng)建新浪云計(jì)算應(yīng)用
申請賬號(hào)
我們使用SAE新浪云計(jì)算平臺(tái)作為服務(wù)器資源,并且申請PHP環(huán)境+MySQL數(shù)據(jù)庫作為程序運(yùn)行環(huán)境。
申請地址為:
http://www.sinacloud.com/
直接點(diǎn)擊上述網(wǎng)址,可以看到右上角微博登錄的鏈接。
點(diǎn)擊進(jìn)入之后,使用新浪微博賬號(hào)登錄?
登錄之后,按照提示注冊個(gè)人信息即可。?
?
創(chuàng)建新應(yīng)用?http://www.cnblogs.com/txw1958/p/wechat-tutorial.html?
回到首頁,在菜單頂部選擇?控制臺(tái)?,再選擇?云應(yīng)用SAE?。
進(jìn)入SAE應(yīng)用列表
點(diǎn)擊下側(cè)的創(chuàng)建新應(yīng)用,這時(shí)會(huì)彈出提示, 禁止放置違法違規(guī)內(nèi)容,點(diǎn)擊繼續(xù)創(chuàng)建,彈出如下窗口。
開發(fā)語言選擇PHP,運(yùn)行環(huán)境為標(biāo)準(zhǔn)環(huán)境,語言版本5.3。二級(jí)域名自己想一個(gè)名字,也可以就直接用自己的QQ號(hào)。應(yīng)用名稱可以用系統(tǒng)默認(rèn)填的。
然后點(diǎn)擊左下方的創(chuàng)建應(yīng)用
?
應(yīng)用創(chuàng)建成功。并自動(dòng)跳轉(zhuǎn)到應(yīng)用列表中,可以看到已經(jīng)有剛才創(chuàng)建的1354386063這個(gè)應(yīng)用。
?
創(chuàng)建版本?http://www.cnblogs.com/txw1958/p/wechat-tutorial.html?
點(diǎn)擊剛才創(chuàng)建的應(yīng)用名稱,進(jìn)入應(yīng)用主頁。
點(diǎn)擊左側(cè)的應(yīng)用管理下面的代碼管理,
?
在代碼管理中,選擇使用SVN托管的方式。
跳轉(zhuǎn)到代碼管理
點(diǎn)擊右側(cè)的“創(chuàng)建版本”
版本號(hào)默認(rèn)為1,點(diǎn)擊創(chuàng)建,有時(shí)會(huì)彈出安全登錄,需要輸入安全密碼,如果不知道或者忘記了,就點(diǎn)里面的找回密碼,重新設(shè)置一下。:
驗(yàn)證通過之后,如下所示
到這里,就成功創(chuàng)建了一個(gè)域名URL為?http://1354386063.sinaapp.com/?的應(yīng)用了,記住你的這個(gè)URL,后面將會(huì)用到。
?原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html?
上傳代碼?http://www.cnblogs.com/txw1958/p/wechat-tutorial.html?
下述代碼是一個(gè)微信接口文件,看不懂沒有關(guān)系,你可以暫時(shí)不用弄明白它的意思。
如果想弄明白,可以購買《微信公眾平臺(tái)開發(fā)最佳實(shí)踐》,在該書中第25頁~第27頁有詳細(xì)講解。
<?php /*方倍工作室 http://www.cnblogs.com/txw1958/CopyRight 2013 www.fangbei.org All Rights Reserved */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;}} } ?>我們將使用上述代碼與微信公眾平臺(tái)對接。直接下載方倍工作室已經(jīng)壓縮好的上述代碼的zip文件。點(diǎn)此進(jìn)入下載
回到SAE的代碼管理界面中。
再選擇“上傳代碼包”,點(diǎn)擊上傳文件,選擇剛才的index.zip文件,點(diǎn)擊上傳,上傳成功后中間是一個(gè)綠色的橫條,如下所示
如果沒有綠色的橫條,表示上傳失敗,需要重試。可以考慮在Chrome瀏覽器下重試一下。
點(diǎn)擊編輯代碼按鈕,
?有時(shí)候需要輸入自己的安全密碼,如果不記得了就點(diǎn)擊“找回密碼”。
安全驗(yàn)證成功后繼續(xù)之前的操作。
我們可以看到index.php已經(jīng)上傳成功,雙擊可以查看編輯里面的代碼
新浪云應(yīng)用的創(chuàng)建就成功了。
實(shí)名認(rèn)證
新浪SAE要求用戶實(shí)名認(rèn)證之后才能正常使用新浪云。實(shí)名認(rèn)證是免費(fèi)的。認(rèn)證后可獲得200個(gè)云豆。
在左側(cè)目錄列表中,找到實(shí)名認(rèn)證目錄,在頁面中上傳身份證并等待審核,審核成功之后,如下圖所示。
?
充值(本步驟可選擇性進(jìn)行)
新浪云SAE實(shí)行的是配額免費(fèi)+超額付費(fèi)的方式,相關(guān)標(biāo)準(zhǔn)請查看SAE價(jià)格體系介紹。初期對于大部分用戶來說免費(fèi)配額已夠用,如果您將來使用量比較大建議預(yù)先至少充值100元獲得10000云豆,以免超額后應(yīng)用被禁用而影響業(yè)務(wù)。
第二章 啟用開發(fā)模式
微信公眾平臺(tái)開發(fā)模式
高級(jí)功能
微信公眾平臺(tái)地址:https://mp.weixin.qq.com?
登錄微信公眾平臺(tái)后臺(tái),在左側(cè)列表中最下方,找到“ 基本配置 ”,點(diǎn)擊進(jìn)入
進(jìn)入服務(wù)器配置填寫框。
點(diǎn)擊“修改配置”按鈕
此處的URL為上篇中介紹的云應(yīng)用的域名,而Token在index.php中定義為weixin。EncodingAESKey則不用填,點(diǎn)擊“隨機(jī)生成”讓自動(dòng)生成一個(gè),消息加解密方式選擇“明文模式”,然后點(diǎn)擊“提交”按鈕。
?
在彈出的提示框中,點(diǎn)擊“確定”
配置修改后如圖所示,再點(diǎn)擊“啟用”按鈕
詢問“是否確定開啟服務(wù)器配置”,點(diǎn)擊“確定”
如果提示“token驗(yàn)證失敗”,可以先重次幾次,微信服務(wù)器有時(shí)候不穩(wěn)定。另外新浪SAE要求進(jìn)行實(shí)名認(rèn)證,請先上傳身份證進(jìn)行實(shí)名認(rèn)證并通過審核后再試!
如果還是失敗,請先用微信調(diào)試器測試一下url和token是否正確,點(diǎn)此查看詳細(xì)測試方法。
成功啟用后如圖。
恭喜,你成功啟用開發(fā)模式。
?
自動(dòng)回復(fù)
在上面的例子中,實(shí)現(xiàn)了一個(gè)發(fā)送“?”就能回復(fù)當(dāng)前時(shí)間的功能。
效果如下:
至此,你的微信公眾平臺(tái)賬號(hào)已經(jīng)實(shí)現(xiàn)自動(dòng)回復(fù)了。?
?第三章 常用消息類型接收與發(fā)送
?
關(guān)注公眾賬號(hào)下載擴(kuò)展型代碼
微信掃描下列二維碼,然后回復(fù)“入門教程代碼”,或查看到擴(kuò)展型代碼的完整地址。
將上述消息復(fù)制后,通過 手機(jī)版微信發(fā)給電腦版微信 或 手機(jī)版QQ發(fā)給電腦版QQ 的方式,將下載地址轉(zhuǎn)到電腦上,并下載其中的壓縮文件。
然后通過前面章節(jié)同樣的方式,上傳到新浪SAE應(yīng)用中。
然后在你的公眾賬號(hào)中分別回復(fù)下列文字
文本 表情 單圖文 多圖文 音樂
??
或者發(fā)送以下類型的消息:語音 圖片 小視頻 我的收藏 位置
?
你將體驗(yàn)到微信公眾賬號(hào)中最常見的接收消息及發(fā)送消息的類型。
?
?
第四章 數(shù)據(jù)收發(fā)原理及消息數(shù)據(jù)格式
?
★?本章是理論部分,初學(xué)者會(huì)比較難以理解,不用太過追究。
開發(fā)模式成為開發(fā)者時(shí)的消息校驗(yàn)原理
在開發(fā)者首次提交驗(yàn)證申請時(shí),微信服務(wù)器將發(fā)送GET請求到填寫的URL上,并且?guī)纤膫€(gè)參數(shù)(signature、timestamp、nonce、echostr),開發(fā)者通過對簽名(即signature)的效驗(yàn),來判斷此條消息的真實(shí)性。
此后,每次開發(fā)者接收用戶消息的時(shí)候,微信也都會(huì)帶上前面三個(gè)參數(shù)(signature、timestamp、nonce)訪問開發(fā)者設(shè)置的URL,開發(fā)者依然通過對簽名的效驗(yàn)判斷此條消息的真實(shí)性。效驗(yàn)方式與首次提交驗(yàn)證申請一致。
| signature | 微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。 |
| timestamp | 時(shí)間戳 |
| nonce | 隨機(jī)數(shù) |
| echostr | 隨機(jī)字符串 |
開發(fā)者通過檢驗(yàn)signature對請求進(jìn)行校驗(yàn)(下面有校驗(yàn)方式)。若確認(rèn)此次GET請求來自微信服務(wù)器,請?jiān)瓨臃祷豦chostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失敗。
加密/校驗(yàn)流程如下: 1. 將token、timestamp、nonce三個(gè)參數(shù)進(jìn)行字典序排序 2. 將三個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行sha1加密 3. 開發(fā)者獲得加密后的字符串可與signature對比,標(biāo)識(shí)該請求來源于微信啟用接口是由代碼中的checkSignature()函數(shù)來實(shí)現(xiàn)校驗(yàn)的。如果對這一原理難以理解,可以暫時(shí)不用深究,繼續(xù)看下面。
?
成為開發(fā)者后消息收發(fā)時(shí)的原理
上一章節(jié)中圖,當(dāng)用戶發(fā)送一個(gè)“?”時(shí),系統(tǒng)回復(fù)了一個(gè)時(shí)間
這一原理的消息流程圖如下所示。
從上圖可以看出,用戶在發(fā)送一個(gè)?后,微信服務(wù)器將組裝一個(gè)消息發(fā)送給我們自己的服務(wù)器,自己的服務(wù)器然后回復(fù)一個(gè)時(shí)間,并且將該時(shí)間也按一定的規(guī)則組裝,回復(fù)給公眾賬號(hào),公眾賬號(hào)再回復(fù)給用戶,在這個(gè)收發(fā)過程中,發(fā)送方和接收方進(jìn)行了調(diào)換(ToUserName和FromUserName值互換),收發(fā)都是以xml格式在后臺(tái)進(jìn)行傳輸?shù)?#xff0c;
所以掌握各種消息類型的接收回復(fù)就是進(jìn)行微信公眾平臺(tái)開發(fā)的基礎(chǔ)!
下面對前面所述的各種消息類型講解其XML數(shù)據(jù)包的格式。
?
各種收發(fā)消息的XML數(shù)據(jù)包分析
接收消息
1. 文本(包括表情)
接收文本及表情
文字后臺(tái)格式:
<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>表情后臺(tái)格式
<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 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型;文本消息為text Content 消息內(nèi)容 MsgId 消息ID號(hào)可以看出,文本和表情的消息類型均為文本
2. 圖片
接收圖片
后臺(tái)格式:
<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 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型;圖片消息為image PicUrl 圖片鏈接地址,可以用HTTP GET獲取 MsgId 消息ID號(hào)3. 語音
接收語音
后臺(tái)格式:
<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 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型;語音消息為voice MediaId 媒體ID Format 語音格式,這里為amr MsgId 消息ID號(hào) 附:AMR接口簡介 全稱Adaptive Multi-Rate,主要用于移動(dòng)設(shè)備的音頻,壓縮比比較大,但相對其他的壓縮格式質(zhì)量比較差,由于多用于人聲,通話,效果還是很不錯(cuò)的。4. 視頻
接收視頻
后臺(tái)格式:
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 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型;視頻消息為video MediaId 媒體ID ThumbMediaId 媒體縮略ID? MsgId 消息ID號(hào)5. 位置
接收位置
后臺(tái)格式:
<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[中國廣東省深圳市南山區(qū)華僑城深南大道9789號(hào) 郵政編碼: 518057]]></Label> <MsgId>5837017832671832047</MsgId> </xml>XML格式講解
ToUserName 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào)FromUserName 消息發(fā)送方微信號(hào)CreateTime 消息創(chuàng)建時(shí)間MsgType 消息類型,地理位置為locationLocation_X 地理位置緯度Location_Y 地理位置經(jīng)度Scale 地圖縮放大小Label 地理位置信息MsgId 消息ID號(hào)6. 鏈接
接收鏈接
后臺(tái)格式:
<xml> <ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjl2LYdfTAM-oxDgB4XZcnc8]]></FromUserName> <CreateTime>1359709372</CreateTime> <MsgType><![CDATA[link]]></MsgType> <Title><![CDATA[微信公眾平臺(tái)開發(fā)者的江湖]]></Title> <Description><![CDATA[陳坤的微信公眾號(hào)這段時(shí)間大火,大家..]]></Description> <Url><![CDATA[http://israel.duapp.com/web/photo.php]]></Url> <MsgId>5839907284805129867</MsgId> </xml>XML格式講解
ToUserName 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào)FromUserName 消息發(fā)送方微信號(hào)CreateTime 消息創(chuàng)建時(shí)間MsgType 消息類型,鏈接為linkTitle 圖文消息標(biāo)題Description 圖文消息描述Url 點(diǎn)擊圖文消息跳轉(zhuǎn)鏈接MsgId 消息ID號(hào)?
回復(fù)消息
只介紹三種格式的消息:文本、圖文、音樂。其中圖文消息包括單條圖文消息和多條圖文消息,展示方式有一點(diǎn)點(diǎn)不同。
1. 文本消息格式
回復(fù)文本
后臺(tái)格式:
<xml> <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName> <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName> <CreateTime>1359036631</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[【深圳】天氣實(shí)況 溫度:27℃ 濕度:59% 風(fēng)速:東北風(fēng)3級(jí) 11月03日 周日 27℃~23℃ 小雨 東北風(fēng)4-5級(jí) 11月04日 周一 26℃~21℃ 陣雨 微風(fēng) 11月05日 周二 27℃~22℃ 陰 微風(fēng)]]></Content> <FuncFlag>0</FuncFlag> </xml>XML格式講解
FromUserName 消息發(fā)送方ToUserName 消息接收方CreateTime 消息創(chuàng)建時(shí)間MsgType 消息類型,文本消息必須填寫textContent 消息內(nèi)容,大小限制在2048字節(jié),字段為空為不合法請求FuncFlag 星標(biāo)字段?
2. 圖文消息格式
2.1 單條圖文消息
回復(fù)單條圖文
后臺(tái)格式:
2.2 多圖文消息
回復(fù)多圖文
后臺(tái)數(shù)據(jù)格式
<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[【深圳】天氣實(shí)況 溫度:3℃ 濕度:43﹪ 風(fēng)速:西南風(fēng)2級(jí)]]></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℃ 晴 北風(fēng)3-4級(jí)轉(zhuǎn)東南風(fēng)小于3級(jí)]]></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℃ 晴 東南風(fēng)小于3級(jí)轉(zhuǎn)東北風(fēng)3-4級(jí)]]></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℃ 多云 東北風(fēng)3-4級(jí)轉(zhuǎn)東南風(fēng)小于3級(jí)]]></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℃ 多云 東南風(fēng)小于3級(jí)轉(zhuǎn)東北風(fēng)3-4級(jí)]]></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 消息發(fā)送方ToUserName 消息接收方CreateTime 消息創(chuàng)建時(shí)間MsgType 消息類型,圖文消息必須填寫newsContent 消息內(nèi)容,圖文消息可填空ArticleCount 圖文消息個(gè)數(shù),限制為10條以內(nèi)Articles 多條圖文消息信息,默認(rèn)第一個(gè)item為大圖Title 圖文消息標(biāo)題Description 圖文消息描述PicUrl 圖片鏈接,支持JPG、PNG格式,較好的效果為大圖640*320,小圖80*80Url 點(diǎn)擊圖文消息跳轉(zhuǎn)鏈接 FuncFlag 星標(biāo)字段?3. 音樂消息
回復(fù)音樂消息
后臺(tái)格式:
<xml><ToUserName><![CDATA[ollB4jqgdO_cRnVXk_wRnSywgtQ8]]></ToUserName><FromUserName><![CDATA[gh_b629c48b653e]]></FromUserName><CreateTime>1372310544</CreateTime><MsgType><![CDATA[music]]></MsgType><Music><Title><![CDATA[最炫民族風(fēng)]]></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 接收方帳號(hào)(收到的OpenID) FromUserName 開發(fā)者微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,此處為musicTitle 音樂標(biāo)題Description 音樂描述MusicUrl 音樂鏈接HQMusicUrl 高質(zhì)量音樂鏈接,WIFI環(huán)境優(yōu)先使用該鏈接播放音樂 FuncFlag 位0x0001被標(biāo)志時(shí),星標(biāo)剛收到的消息。?
事件消息類型
目前用戶在關(guān)注和取消關(guān)注,以及點(diǎn)擊菜單的時(shí)候會(huì)自動(dòng)向公眾平臺(tái)發(fā)送事件推送消息:
1. 關(guān)注事件
<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. 取消關(guān)注事件
<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. 菜單點(diǎn)擊事件
<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 接收方微信號(hào) FromUserName 發(fā)送方微信號(hào),若為普通用戶,則是一個(gè)OpenID CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,event Event 事件類型,subscribe(訂閱)、unsubscribe(取消訂閱)、CLICK(自定義菜單點(diǎn)擊事件) EventKey 事件KEY值,與自定義菜單接口中KEY值對應(yīng)?
posted on 2016-10-21 11:47 臥似長劍 閱讀(...) 評(píng)論(...) 編輯 收藏轉(zhuǎn)載于:https://www.cnblogs.com/chencanjian/p/5984060.html
總結(jié)
以上是生活随笔為你收集整理的微信公众号开发入门教程第一篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JavaFX 之窗口大小自由拉伸(四)
- 下一篇: C++ explicit关键字