王萍
摘要:公眾平臺開發(fā)接口提供與用戶進(jìn)行消息交互、自定義菜單交互的能力。對于已接入的第三方接口,當(dāng)用戶發(fā)送消息時,微信會推送至第三方服務(wù)器。本文主要描述了微信公眾平臺消息接口開發(fā)的代碼問題,代碼是消息接口認(rèn)證代碼,將PHP代碼保存為index.php(其中的mytoken改為你想要的的token名稱),并上傳到HTTP服務(wù)器指定的目錄中,最終使得公告微信消息接口的實(shí)現(xiàn)。
關(guān)鍵詞:微信;消息接口;開發(fā)
中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號: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ì),微信平臺的月活躍數(shù)已達(dá)5億左右,微信已被越來越多的商家為一大重點(diǎn)營銷平臺。面對如此龐大的用戶群,商家迫切需要提供定制化的服務(wù)。那么,如何開發(fā)、運(yùn)營微信公眾號成為企業(yè)亟需解決的問題。在進(jìn)行微信開發(fā)時,面對用戶較多的情況下,作為技術(shù)開發(fā)人員,要共同探討、借鑒其他行業(yè)優(yōu)秀的應(yīng)用開發(fā)案例,為需求者帶來新的技術(shù)突破與體驗(yàn)。另外,企業(yè)/用戶還可以借助微信項(xiàng)目對接平臺,發(fā)布微信開發(fā)需求、尋找微信開發(fā)項(xiàng)目。
1 微信公眾平臺的“開發(fā)模式”的開啟
要開啟開發(fā)模式很簡單,只要在后臺進(jìn)入開發(fā)模式后點(diǎn)擊開啟按鈕,然后綁定接口文件就完成開通了。下圖我們看到接口配置信息那里要填寫URL和Token信息,URL就是放在你的網(wǎng)站上的接口文件地址,Token就是驗(yàn)證碼。最下面的就是接口的權(quán)限。點(diǎn)擊下圖1“查看文檔”,查看里面的“消息接口指南”,拉到底部會看到PHP示例代碼的,那個文件包含標(biāo)準(zhǔn)的PHP接口文件。
點(diǎn)擊“查看文檔”后我們進(jìn)入到開發(fā)幫助文檔里面,左邊是文檔欄目,包括消息接口、通用接口、自定義菜單接口、使用限制和返回碼。不具體說里面的代碼等等內(nèi)容,以這些欄目來分別說明接口的用途吧。1)消息接口:這里主要是用來接收用戶發(fā)送的消息,然后通過該接口反饋給用戶對應(yīng)的圖文內(nèi)容或音頻內(nèi)容。2)通用接口:主要用于上傳圖片、語音、視頻素材到微信公眾平臺上面,并且可以通過該接口對這些素材進(jìn)行調(diào)用。(該接口需要向微信申請內(nèi)測資格才能使用)3)自定義菜單接口:通過該接口可以對自定義菜單進(jìn)行創(chuàng)建、查詢、添加等管理操作(該接口需要向微信申請內(nèi)測資格才能使用)。4)使用限制:這里僅限制通用接口和自定義菜單接口的操作頻率(注意這里不是用戶使用次數(shù),而是后臺操作次數(shù),對用戶使用不受影響),消息接口不受限制。5)返回碼說明:這里是使用通用接口出現(xiàn)的Json返回結(jié)果,通過返回碼方便開發(fā)者識別開發(fā)程序的情況。
圖1
2 微信公眾平臺消息接口開發(fā)
2.1 注冊
注冊微信公平平臺賬號,地址為: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"]; //時間戳
$nonce = $_GET["nonce"]; //隨機(jī)數(shù)
$token = TOKEN;
$tmpArr = array($token, $timestamp, $nonce);
sort($tmpArr); //進(jìn)行字典序排序
//sha1加密后與簽名對比
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)入微信公眾平臺,選擇設(shè)置-關(guān)鍵詞自動回復(fù),選擇啟用,點(diǎn)擊公眾平臺消息接口旁邊的編輯,進(jìn)入接口配置界面:
按照要求如實(shí)填寫下列選項(xiàng)。特別注意是URL是你上傳index.php的路徑,必須以http://開頭,且為80端口。
填好后點(diǎn)擊提交,這會有下面這些結(jié)果:
1)你的服務(wù)器沒有正確響應(yīng)Token驗(yàn)證,請閱讀消息接口使用指南
這樣回頭檢查一下各項(xiàng)配置是否正確。如果確定配置沒有問題,請按下面的方法檢查
2)請求URL超時
你的服務(wù)器在國外,或者服務(wù)器網(wǎng)速不給力,一般多試幾次就可以了。如果經(jīng)常這樣,就需要考慮更換服務(wù)器
3)提交成功
恭喜你,配置成功了。
3 結(jié)束語
微信公眾平臺目前分成消息接口和通用接口兩大模塊。1)接入消息接口的微信公眾賬號,當(dāng)關(guān)注該公眾賬號的粉絲向其發(fā)送消息,微信服務(wù)器會對公眾賬號所對應(yīng)的服務(wù)器地址推送一個特定結(jié)構(gòu)的消息體,公眾賬號開發(fā)者可以通過響應(yīng)包進(jìn)行對該條消息的回復(fù)。2)通用接口的作用是實(shí)現(xiàn)諸如獲取粉絲資料,上傳媒體文件以便消息接口回復(fù)圖片、語音和視頻等多媒體消息等功能,豐富消息接口的同時支持主動推送消息給用戶。
使用接口的任何一個公眾賬號都擁有唯一的Appid和Appsecret,對于該公眾賬號都有一個使用等級,使用等級高的將享有更高的接口調(diào)用頻率。開發(fā)者應(yīng)評估自己的應(yīng)用,并對公眾號等級進(jìn)行相應(yīng)的申請。
公眾平臺開發(fā)接口提供與用戶進(jìn)行消息交互、自定義菜單交互的能力。對于已接入的第三方接口,當(dāng)用戶發(fā)送消息時,微信會推送至第三方服務(wù)器。消息對開發(fā)人員來說就是指令和關(guān)鍵詞,程序主要用于處理各種指令,并返回對應(yīng)的數(shù)據(jù),該邏輯使微信開發(fā)更加簡單,準(zhǔn)入門檻更低。微信的發(fā)展也帶來了大量的數(shù)據(jù)存儲及數(shù)據(jù)交互,特別是對于擁有很多商戶的開發(fā)商來說。