由于微信的大熱,為了更好的方便使用微信的用戶查詢一些信息,,這篇文章是入門級(jí)的微信公眾平臺(tái)開發(fā)教程,,需要的朋友可以參考下
在這篇入門教程中,我們假定你已經(jīng)有了PHP語(yǔ)言程序,、MySQL數(shù)據(jù)庫(kù),、計(jì)算機(jī)網(wǎng)絡(luò)通訊及XML語(yǔ)言基礎(chǔ)。如果你還沒有,,那么請(qǐng)先學(xué)習(xí)相關(guān)知識(shí),。 我們將使用微信公眾賬號(hào)方倍工作室(賬號(hào):pondbaystudio,二維碼在最底部)作為講解的例子,。 這篇入門教程將引導(dǎo)你完成如下任務(wù): 創(chuàng)建百度云平臺(tái)應(yīng)用啟用微信公眾平臺(tái)開發(fā)模式獲取訂閱,、文字、圖片,、語(yǔ)音,、視頻消息回復(fù)文本,、圖文及音樂消息程序開發(fā) 創(chuàng)建百度云應(yīng)用 申請(qǐng)賬號(hào) 登錄http://developer.baidu.com/bae ,使用郵箱或者手機(jī)注冊(cè)一個(gè)賬號(hào),,注冊(cè)需要同時(shí)綁定手機(jī)并且驗(yàn)證郵箱,。 注冊(cè)并登錄成功以后,點(diǎn)擊右上側(cè)的,,彈出如下窗口,。
應(yīng)用名稱自己隨便填寫一個(gè),接入方式選擇“手機(jī)web應(yīng)用”,,然后點(diǎn)擊確定,。 說明:在以下的教程中,您可以將所有我填寫為pondbay的地方改為你的一個(gè)相應(yīng)的名稱,,如果您沒有想好名稱,,最簡(jiǎn)單的方法就是qq這兩個(gè)字符+qq號(hào)碼,比如方倍工作室的QQ是1354386063,,那么就將"pondbay"改為"qq1354386063"
選擇“云環(huán)境(BAE)”,, 在新的窗口中,填寫應(yīng)用域名的名稱,,環(huán)境類型選擇PHP,,其他根據(jù)自己需要選擇或者使用上圖默認(rèn)值,然后點(diǎn)擊確定 注意:此處填寫的域名將要在下面填寫URL時(shí)用到,??梢韵缺4嫦聛怼? 創(chuàng)建版本 在版本管理中,,點(diǎn)擊創(chuàng)建新版本 版本號(hào)填寫0,,然后保存。 將以下代碼中的token改為你的名稱,,并另存為index.php,。 注意:此處填寫的Token將要在下面填寫URL時(shí)用到??梢韵缺4嫦聛?。 復(fù)制代碼 代碼如下: <?php /* 方倍工作室 http://www.cnblogs.com/txw1958/ CopyRight 2013 www. All Rights Reserved */ define("TOKEN", "pondbay"); $wechatObj = new wechatCallbackapiTest(); class wechatCallbackapiTest private function checkSignature() $token = TOKEN; if( $tmpStr == $signature ){ 然后將其壓縮成zip格式 這樣會(huì)生成一個(gè)index.zip的文件。 回來版本管理中 選擇包上傳更新 選擇剛才壓縮好的zip包,,點(diǎn)擊上傳,。 確定生效,并且點(diǎn)擊 ,,點(diǎn)擊后如下圖,。 百度云應(yīng)用的創(chuàng)建就成功了。
微信公眾平臺(tái)開發(fā)模式 高級(jí)功能 微信公眾平臺(tái)地址:https://mp.weixin.qq.com 登錄微信公眾平臺(tái)后臺(tái),選擇高級(jí)功能 進(jìn)入后就看到兩種模式 我們需要關(guān)閉編輯模式,。點(diǎn)擊編輯模式的進(jìn)入 滑動(dòng)關(guān)閉
開發(fā)模式 進(jìn)入開發(fā)模式里面 點(diǎn)擊成為開發(fā)者 彈出URL和Token填寫框 此處的URL為創(chuàng)建百度云應(yīng)用的域名,,包括后面的,而Token為index.php中定義的值,。 URL: http://pondbay. 填寫如下圖,, 提交成功 再滑動(dòng)右上角啟用按鈕。 至此,,你已經(jīng)成功啟用開發(fā)模式,。 接收消息類型 目前普通用戶能向公眾賬號(hào)推送五種格式的消息:文本(包括表情),、語(yǔ)音,、圖片、視頻,、位置,、鏈接。名片發(fā)送會(huì)失敗,。 1. 文本(包括表情) 后臺(tái)格式: 復(fù)制代碼 代碼如下: <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> 發(fā)送表情 后臺(tái)格式 復(fù)制代碼 代碼如下: <xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName> <CreateTime>1359044526</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[/::)/::)/::)/::)/::)]]></Content> <MsgId>5837051792978241864</MsgId> </xml> XML格式講解 復(fù)制代碼 代碼如下: 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)可以看出,,文本和表情的消息類型均為文本 [html] 2. 圖片 后臺(tái)格式: [code] XML格式講解 復(fù)制代碼 代碼如下: 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. 語(yǔ)音 后臺(tái)格式: 復(fù)制代碼 代碼如下: <xml> <ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FromUserName> <CreateTime>1359028025</CreateTime> <MsgType><![CDATA[voice]]></MsgType> <MediaId><![CDATA[hGm9wmKth8RO_tuv5k9fJkSbovXWzZVYwG2jSsL7ukCqq6q1SiLzYnFEngFNUijs]]></MediaId> <Format><![CDATA[amr]]></Format> <MsgId>5836980921722890003</MsgId> </xml> XML格式講解 復(fù)制代碼 代碼如下: ToUserName 消息接收方微信號(hào),,一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型;語(yǔ)音消息為voice MediaId 媒體ID Format 語(yǔ)音格式,,這里為amr MsgId 消息ID號(hào)附:AMR接口簡(jiǎn)介 全稱Adaptive Multi-Rate,,主要用于移動(dòng)設(shè)備的音頻,壓縮比比較大,,但相對(duì)其他的壓縮格式質(zhì)量比較差,,由于多用于人聲,通話,,效果還是很不錯(cuò)的,。 4. 視頻 后臺(tái)格式: 復(fù)制代碼 代碼如下: <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格式講解 復(fù)制代碼 代碼如下: 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) 原文:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html 5. 位置 后臺(tái)格式: 復(fù)制代碼 代碼如下: <xml><ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></FLACFromUserName> <CreateTime>1359036619</CreateTime> <MsgType><![CDATA[location]]></MsgType> <Location_X>22.539968</Location_X> <Location_Y>113.954980</Location_Y> <Scale>16</Scale> <Label><![CDATA[中國(guó)廣東省深圳市南山區(qū)深南大道9789號(hào) 郵政編碼: 518057]]></Label> <MsgId>5837017832671832047</MsgId> </xml> XML格式講解 復(fù)制代碼 代碼如下: ToUserName 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,,地理位置為location Location_X 地理位置緯度 Location_Y 地理位置經(jīng)度 Scale 地圖縮放大小 Label 地理位置信息 MsgId 消息ID號(hào) 6. 鏈接 后臺(tái)格式: 復(fù)制代碼 代碼如下: <xml> <ToUserName><![CDATA[gh_680bdefc8c5d]]></ToUserName> <FromUserName><![CDATA[oIDrpjl2LYdfTAM-oxDgB4XZcnc8]]></FromUserName> <CreateTime>1359709372</CreateTime> <MsgType><![CDATA[link]]></MsgType> <Title><![CDATA[分享一款應(yīng)用給你 -方倍神圖]]></Title> <Description><![CDATA[方倍神圖為您提供夫妻相測(cè)試,,親子鑒定等新奇、好玩的圖片測(cè)試功能]]></Description> <Url><![CDATA[http://israel./web/photo.php]]></Url> <MsgId>5839907284805129867</MsgId> </xml> XML格式講解 復(fù)制代碼 代碼如下: ToUserName 消息接收方微信號(hào),一般為公眾平臺(tái)賬號(hào)微信號(hào) FromUserName 消息發(fā)送方微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,,鏈接為link Title 圖文消息標(biāo)題 Description 圖文消息描述 Url 點(diǎn)擊圖文消息跳轉(zhuǎn)鏈接 MsgId 消息ID號(hào) 發(fā)送消息類型 目前公眾賬號(hào)能向普通用戶推送三種格式的消息:文本,、圖文、音樂,。其中圖文消息包括單條圖文消息和多條圖文消息,,展示方式有一點(diǎn)點(diǎn)不同。 下面就這幾種分別詳解如下: 1. 文本消息格式 后臺(tái)格式: 復(fù)制代碼 代碼如下: <xml> <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName> <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName> <CreateTime>1359036631</CreateTime> <MsgType><![CDATA[text]]></MsgType> <Content><![CDATA[★★★★豆立方★★★★ 微信公眾平臺(tái)上最好玩的圖片及視頻應(yīng)用]]></Content> <FuncFlag>0</FuncFlag> </xml> XML格式講解 復(fù)制代碼 代碼如下: FromUserName 消息發(fā)送方 ToUserName 消息接收方 CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,,文本消息必須填寫text Content 消息內(nèi)容,,大小限制在2048字節(jié),字段為空為不合法請(qǐng)求 FuncFlag 星標(biāo)字段 2. 圖文消息格式
復(fù)制代碼 代碼如下: <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[【天津】天氣實(shí)況 ]]></Title> <Description><![CDATA[溫度:3℃ 濕度:43﹪ 風(fēng)速:西南風(fēng)2級(jí)]]></Description> <PicUrl><![CDATA[http://www./weixin/weather/icon/banner.jpg]]></PicUrl> <Url><![CDATA[]]></Url> </item> </Articles> <FuncFlag>0</FuncFlag> </xml> 2.2 多條圖文消息 復(fù)制代碼 代碼如下: <xml> <ToUserName><![CDATA[oIDrpjqASyTPnxRmpS9O_ruZGsfk]]></ToUserName> <FromUserName><![CDATA[gh_680bdefc8c5d]]></FromUserName> <CreateTime>1359011829</CreateTime> <MsgType><![CDATA[news]]></MsgType> <Content><![CDATA[]]></Content> <ArticleCount>8</ArticleCount> <Articles> <item> <Title><![CDATA[【天津】天氣實(shí)況 溫度:3℃ 濕度:43﹪ 風(fēng)速:西南風(fēng)2級(jí)]]></Title> <Description><![CDATA[]]></Description> <PicUrl><![CDATA[http://www./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./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./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./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./weixin/weather/icon/d01.gif]]></PicUrl> <Url><![CDATA[]]></Url> </item> <item> <Title><![CDATA[06月28日 周一 -1℃~-8℃ 多云 東北風(fēng)3-4級(jí)轉(zhuǎn)南風(fēng)小于3級(jí)]]></Title> <Description><![CDATA[]]></Description> <PicUrl><![CDATA[http://www./weixin/weather/icon/d01.gif]]></PicUrl> <Url><![CDATA[]]></Url> </item> <item> <Title><![CDATA[06月29日 周二 1℃~-5℃ 多云 南風(fēng)小于3級(jí)轉(zhuǎn)3-4級(jí)]]></Title> <Description><![CDATA[]]></Description> <PicUrl><![CDATA[http://www./weixin/weather/icon/d01.gif]]></PicUrl> <Url><![CDATA[]]></Url> </item> <item> <Title><![CDATA[方倍工作室 版權(quán)所有]]></Title> <Description><![CDATA[]]></Description> <PicUrl><![CDATA[]]></PicUrl> <Url><![CDATA[]]></Url> </item> </Articles> <FuncFlag>0</FuncFlag> </xml> XML格式講解 復(fù)制代碼 代碼如下: FromUserName 消息發(fā)送方 ToUserName 消息接收方 CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,,圖文消息必須填寫news Content 消息內(nèi)容,,圖文消息可填空 ArticleCount 圖文消息個(gè)數(shù),限制為10條以內(nèi) Articles 多條圖文消息信息,,默認(rèn)第一個(gè)item為大圖 Title 圖文消息標(biāo)題 Description 圖文消息描述 PicUrl 圖片鏈接,,支持JPG、PNG格式,,較好的效果為大圖640*320,,小圖80*80 Url 點(diǎn)擊圖文消息跳轉(zhuǎn)鏈接 FuncFlag 星標(biāo)字段
后臺(tái)格式: 復(fù)制代碼 代碼如下: <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:///zj/download/music/zxmzf.mp3]]></MusicUrl> <HQMusicUrl><![CDATA[http:///zj/download/music/zxmzf.mp3]]></HQMusicUrl> </Music> <FuncFlag>0</FuncFlag> </xml> XML格式講解 復(fù)制代碼 代碼如下: ToUserName 接收方賬號(hào)(收到的OpenID) FromUserName 開發(fā)者微信號(hào) CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,此處為music Title 音樂標(biāo)題 Description 音樂描述 MusicUrl 音樂鏈接 HQMusicUrl 高質(zhì)量音樂鏈接,,WIFI環(huán)境優(yōu)先使用該鏈接播放音樂 FuncFlag 位0x0001被標(biāo)志時(shí),,星標(biāo)剛收到的消息。 事件消息類型 目前用戶在關(guān)注和取消關(guān)注的時(shí)候會(huì)自動(dòng)向公眾平臺(tái)發(fā)送事件推送消息: 1. 關(guān)注事件 復(fù)制代碼 代碼如下: <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)注事件 復(fù)制代碼 代碼如下: <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)擊事件 復(fù)制代碼 代碼如下: <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格式講解 復(fù)制代碼 代碼如下: ToUserName 接收方微信號(hào) FromUserName 發(fā)送方微信號(hào),,若為普通用戶,,則是一個(gè)OpenID CreateTime 消息創(chuàng)建時(shí)間 MsgType 消息類型,event Event 事件類型,,subscribe(訂閱),、unsubscribe(取消訂閱)、CLICK(自定義菜單點(diǎn)擊事件) EventKey 事件KEY值,,與自定義菜單接口中KEY值對(duì)應(yīng) 簡(jiǎn)單的自動(dòng)回復(fù) 我們?cè)诠俜降睦由献鲆恍┬薷?,?shí)現(xiàn)了一個(gè)發(fā)送“?”就能回復(fù)當(dāng)前時(shí)間的功能。 復(fù)制代碼 代碼如下: <?php /* 方倍工作室 http://www.cnblogs.com/txw1958/ CopyRight 2013 www. All Rights Reserved */ define("TOKEN", "pondbay"); class wechatCallbackapiTest if (!empty($postStr)){ 效果如下: |
|