《微信開發(fā)十之再說小i機器人(附完整PHP源碼)》要點:
本文介紹了微信開發(fā)十之再說小i機器人(附完整PHP源碼),希望對您有用。如果有疑問,可以聯(lián)系我們。
相關(guān)主題:web微信和微信機器人
歡迎參與《微信開發(fā)十之再說小i機器人(附完整PHP源碼)》討論,分享您的想法,維易PHP學(xué)院為您提供專業(yè)教程。
小i機器人開發(fā)交流群內(nèi)的開發(fā)者提問:如何在使用自己的服務(wù)器上哀求小i機器人給的接口實現(xiàn)微信公眾號的智能回復(fù).基于這個問題,筆者寫了本篇開發(fā)指南,并提供PHP版本源碼供大家測試.
1.點擊注冊微信"大眾平臺接口測試帳號;
2.點擊注冊小i機械人iBotCloud賬號;
3.建立自己的服務(wù)器,有獨立IP且80端口未占用(保舉使用云服務(wù)器,筆者使用的是新浪云服務(wù)器SAE.騰訊云/阿里云均可);
4.安裝當(dāng)?shù)亻_發(fā)環(huán)境,可以使用Eclipse,Notepad++等(筆者使用的Eclipse for PHP),百度搜索“Eclipse for PHP”選擇合適版本下載安裝;
5.使用版本控制軟件,可以用git、SVN(筆者使用的SVN,可視化操作較git相比更易上手)
1.完成微信平臺的消息響應(yīng);
2.在文本消息回復(fù)中哀求小i機器人的接口;
1.完成微信平臺消息響應(yīng)
微信服務(wù)器與我們本身搭建的服務(wù)器要建立連接,如何讓微信服務(wù)器識別是我們的服務(wù)器在和微信服務(wù)器通話呢?這就需要我們編程實現(xiàn).我們先看下微信官方給的業(yè)務(wù)邏輯流程圖,如圖1所示,先提取signnature等一系列字段,再提取TOKEN,最后匹配數(shù)據(jù)源.驗證成功則再進行下一步業(yè)務(wù)邏輯(這段分析較為拗口,如果不理解沒有關(guān)系.待coding了一段時間之后,便自行明朗).
圖1
1.1搭建本身的云服務(wù)器(筆者以SAE作為參考)
1.登錄SAE,如圖2所示.
圖 2
2.創(chuàng)立新應(yīng)用,如圖3所示.
圖 3
3.選擇新應(yīng)用的參數(shù),如圖4所示.
參數(shù)不要選錯,選擇PHP語言、標(biāo)準(zhǔn)環(huán)境、語言版本5.6、代碼管理SVN、二級域名(本身隨便取,這個很重要是微信平臺中要填寫的Url).免費創(chuàng)建應(yīng)用.
圖 4
4.創(chuàng)立代碼版本,如圖5所示.
圖5
1.2Eclipse中檢出SAE項目
1.在Eclipse中checkout新浪云中的項目,如圖6所示.
SVN倉庫信息如圖7所示.在Eclipse中選擇“從SVN檢出項目”,輸入圖6所示的信息(分歧應(yīng)用對應(yīng)分歧的信息),checkout出SAE的項目.
圖6
圖 7
2.變動項目中PHP語言版本,如圖8所示.
高版本的Eclipse默認(rèn)PHP版本為7,而我們的SAE應(yīng)用中PHP版本為5.6,因此必要調(diào)整Eclipse默認(rèn)PHP版本.
圖 8
1.3樹立微信后臺通信
1.在Eclipse項目工程中利用SVN上傳代碼至SAE服務(wù)器.
通過1.1,1.2兩個步驟,我們已經(jīng)把服務(wù)器、開發(fā)環(huán)境部署完畢.現(xiàn)在利用編程實現(xiàn).在Eclipse中的index.php文件,刪除原先代碼并復(fù)制以下代碼,保留上傳至SAE.
代碼1
2.在微信"大眾平臺接口測試帳號中輸入Url及TOKEN.
URL是之前自定義的二級域名,Token一般使用weixin(自定義),但需與代碼中一致.輸入后點擊提交,配置勝利(若配置不勝利,多點幾次;若依然未勝利再聯(lián)系筆者).
圖9
至此,我們完成微信平臺響應(yīng).
2.在文本消息回復(fù)中哀求小i機器人接口
完成微信平臺響應(yīng)之后,我們要開始執(zhí)行后續(xù)的業(yè)務(wù)邏輯.我們參加兩個功能:
響應(yīng)關(guān)注變亂
響應(yīng)文本消息
2.1.響應(yīng)關(guān)注變亂
我們必要在publicfunction responseMsg()函數(shù)中加入代碼以執(zhí)行業(yè)務(wù)邏輯操作,代碼如下所示(不理解沒關(guān)系,不影響后續(xù)操作).
代碼2
同時還要再寫兩個函數(shù),一個是receiveEvent接收變亂的函數(shù),其中對關(guān)注變亂"subscribe"做了響應(yīng),關(guān)注后回復(fù)"welcome to new test wechat!"
代碼3
另一個函數(shù)是returnText用來回復(fù)文本信息
代碼4
至此,完成響應(yīng)關(guān)注變亂的代碼,測試效果如圖10所示
圖10
2.2.響應(yīng)文本消息
2.2.1.文本接收變亂函數(shù)
receiveText代碼如下所示.
代碼5
2.2.2.小i機械人接口函數(shù)
注冊登錄后,得到小i機器人開發(fā)者的Key、Sectet
圖 11
getXiaoiInfo代碼如下所示.此版本為小i官方提供的PHP SDK精簡而來.如果正式開發(fā),保舉使用小i機器人官方提供的SDK.
代碼6
至此我們完成小i機器人的接入.后果如圖12所示.
圖 12
有開發(fā)能力的同學(xué)可以參考此篇文檔接入小i機器人.文檔中有欠妥之處請斧正.
關(guān)注筆者運營的微信公眾號《學(xué)點編程》(shijiawen6),發(fā)送“001”獲取《微信開發(fā)一之環(huán)境部署》文章以參考相關(guān)軟件介紹;發(fā)送“003”獲取《微信開發(fā)三之小i機器人》粗拙版的小i機器人接入文檔.
發(fā)送“小i機器人”至微信公眾號后臺獲取源碼.源碼中需要將小i機器人的Key/Sceret修改為本身的參數(shù).
微信:danielsjw,一起交流學(xué)習(xí).
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/10583.html