王萍
摘要:公眾平臺(tái)開發(fā)接口提供與用戶進(jìn)行消息交互、自定義菜單交互的能力。對(duì)于已接入的第三方接口,當(dāng)用戶發(fā)送消息時(shí),微信會(huì)推送至第三方服務(wù)器。本文主要描述了微信公眾平臺(tái)消息接口開發(fā)的代碼問題,代碼是消息接口認(rèn)證代碼,將PHP代碼保存為index.php(其中的mytoken改為你想要的的token名稱),并上傳到HTTP服務(wù)器指定的目錄中,最終使得公告微信消息接口的實(shí)現(xiàn)。
關(guān)鍵詞:微信;消息接口;開發(fā)
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)11-0092-02
Technology Development to Achieve Common Micro-channel Messaging Interface
WANG Ping
(Nanjing Institute of Industry Technology, Nanjing 210046, China)
Abstract: public platform interface provides message interaction with the user, the ability to customize the menu interaction. For third-party interface is accessed when a user sends a message, the micro-channel will be pushed to a third-party server. This paper describes the micro-channel public platform messaging interface developed code problem, the code is a message authentication code interface, save the PHP code for index.php (which mytoken token name you want to) and upload it to the specified HTTP server directory, so as to achieve the final announcement of the micro-channel message interface.
Key words: micro-channel; message interface; development
不完全統(tǒng)計(jì),微信平臺(tái)的月活躍數(shù)已達(dá)5億左右,微信已被越來越多的商家為一大重點(diǎn)營銷平臺(tái)。面對(duì)如此龐大的用戶群,商家迫切需要提供定制化的服務(wù)。那么,如何開發(fā)、運(yùn)營微信公眾號(hào)成為企業(yè)亟需解決的問題。在進(jìn)行微信開發(fā)時(shí),面對(duì)用戶較多的情況下,作為技術(shù)開發(fā)人員,要共同探討、借鑒其他行業(yè)優(yōu)秀的應(yīng)用開發(fā)案例,為需求者帶來新的技術(shù)突破與體驗(yàn)。另外,企業(yè)/用戶還可以借助微信項(xiàng)目對(duì)接平臺(tái),發(fā)布微信開發(fā)需求、尋找微信開發(fā)項(xiàng)目。
1 微信公眾平臺(tái)的“開發(fā)模式”的開啟
要開啟開發(fā)模式很簡單,只要在后臺(tái)進(jìn)入開發(fā)模式后點(diǎn)擊開啟按鈕,然后綁定接口文件就完成開通了。下圖我們看到接口配置信息那里要填寫URL和Token信息,URL就是放在你的網(wǎng)站上的接口文件地址,Token就是驗(yàn)證碼。最下面的就是接口的權(quán)限。點(diǎn)擊下圖1“查看文檔”,查看里面的“消息接口指南”,拉到底部會(huì)看到PHP示例代碼的,那個(gè)文件包含標(biāo)準(zhǔn)的PHP接口文件。
點(diǎn)擊“查看文檔”后我們進(jìn)入到開發(fā)幫助文檔里面,左邊是文檔欄目,包括消息接口、通用接口、自定義菜單接口、使用限制和返回碼。不具體說里面的代碼等等內(nèi)容,以這些欄目來分別說明接口的用途吧。1)消息接口:這里主要是用來接收用戶發(fā)送的消息,然后通過該接口反饋給用戶對(duì)應(yīng)的圖文內(nèi)容或音頻內(nèi)容。2)通用接口:主要用于上傳圖片、語音、視頻素材到微信公眾平臺(tái)上面,并且可以通過該接口對(duì)這些素材進(jìn)行調(diào)用。(該接口需要向微信申請(qǐng)內(nèi)測(cè)資格才能使用)3)自定義菜單接口:通過該接口可以對(duì)自定義菜單進(jìn)行創(chuàng)建、查詢、添加等管理操作(該接口需要向微信申請(qǐng)內(nèi)測(cè)資格才能使用)。4)使用限制:這里僅限制通用接口和自定義菜單接口的操作頻率(注意這里不是用戶使用次數(shù),而是后臺(tái)操作次數(shù),對(duì)用戶使用不受影響),消息接口不受限制。5)返回碼說明:這里是使用通用接口出現(xiàn)的Json返回結(jié)果,通過返回碼方便開發(fā)者識(shí)別開發(fā)程序的情況。
圖1
2 微信公眾平臺(tái)消息接口開發(fā)
2.1 注冊(cè)
注冊(cè)微信公平平臺(tái)賬號(hào),地址為:http://mp.weixin.qq.com/
2.2 上傳代碼
以下代碼是消息接口認(rèn)證代碼,將下列PHP代碼保存為index.php(其中的mytoken改為你想要的token名稱),并上傳到HTTP服務(wù)器指定的目錄中。
valid();
class wechatCallbackapiTest
{public function valid()
{$echoStr = $_GET["echostr"]; //隨機(jī)字符串
if($this->checkSignature()){
echo $echoStr;
exit;}}
private function checkSignature()
{$signature = $_GET["signature"]; //微信加密簽名
$timestamp = $_GET["timestamp"]; //時(shí)間戳
$nonce = $_GET["nonce"]; //隨機(jī)數(shù)
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr); //進(jìn)行字典序排序
//sha1加密后與簽名對(duì)比
if( sha1(implode($tmpArr)) == $signature ){
return true;
}else{
return false;}}}
?>
或者直接下載微信的示例代碼。
地址:http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.zip
2.3 啟用消息接口
進(jìn)入微信公眾平臺(tái),選擇設(shè)置-關(guān)鍵詞自動(dòng)回復(fù),選擇啟用,點(diǎn)擊公眾平臺(tái)消息接口旁邊的編輯,進(jìn)入接口配置界面:
按照要求如實(shí)填寫下列選項(xiàng)。特別注意是URL是你上傳index.php的路徑,必須以http://開頭,且為80端口。
填好后點(diǎn)擊提交,這會(huì)有下面這些結(jié)果:
1)你的服務(wù)器沒有正確響應(yīng)Token驗(yàn)證,請(qǐng)閱讀消息接口使用指南
這樣回頭檢查一下各項(xiàng)配置是否正確。如果確定配置沒有問題,請(qǐng)按下面的方法檢查
2)請(qǐng)求URL超時(shí)
你的服務(wù)器在國外,或者服務(wù)器網(wǎng)速不給力,一般多試幾次就可以了。如果經(jīng)常這樣,就需要考慮更換服務(wù)器
3)提交成功
恭喜你,配置成功了。
3 結(jié)束語
微信公眾平臺(tái)目前分成消息接口和通用接口兩大模塊。1)接入消息接口的微信公眾賬號(hào),當(dāng)關(guān)注該公眾賬號(hào)的粉絲向其發(fā)送消息,微信服務(wù)器會(huì)對(duì)公眾賬號(hào)所對(duì)應(yīng)的服務(wù)器地址推送一個(gè)特定結(jié)構(gòu)的消息體,公眾賬號(hào)開發(fā)者可以通過響應(yīng)包進(jìn)行對(duì)該條消息的回復(fù)。2)通用接口的作用是實(shí)現(xiàn)諸如獲取粉絲資料,上傳媒體文件以便消息接口回復(fù)圖片、語音和視頻等多媒體消息等功能,豐富消息接口的同時(shí)支持主動(dòng)推送消息給用戶。
使用接口的任何一個(gè)公眾賬號(hào)都擁有唯一的Appid和Appsecret,對(duì)于該公眾賬號(hào)都有一個(gè)使用等級(jí),使用等級(jí)高的將享有更高的接口調(diào)用頻率。開發(fā)者應(yīng)評(píng)估自己的應(yīng)用,并對(duì)公眾號(hào)等級(jí)進(jìn)行相應(yīng)的申請(qǐng)。
公眾平臺(tái)開發(fā)接口提供與用戶進(jìn)行消息交互、自定義菜單交互的能力。對(duì)于已接入的第三方接口,當(dāng)用戶發(fā)送消息時(shí),微信會(huì)推送至第三方服務(wù)器。消息對(duì)開發(fā)人員來說就是指令和關(guān)鍵詞,程序主要用于處理各種指令,并返回對(duì)應(yīng)的數(shù)據(jù),該邏輯使微信開發(fā)更加簡單,準(zhǔn)入門檻更低。微信的發(fā)展也帶來了大量的數(shù)據(jù)存儲(chǔ)及數(shù)據(jù)交互,特別是對(duì)于擁有很多商戶的開發(fā)商來說。