教程四:調試公眾號伺服器,調試公眾
在進入正式的開發之前,我們還需要掌握公眾號開發的調試方法.
如果我們完全依賴接收到的訊息來進行調試,那我們將受到很多的限制,
比如我們只能返回指定格式的訊息才能在應用中看到我們回複的內容,
如果我們的伺服器報錯,我們將無法知道確切的錯誤資訊,
所以我們需要一個能代替伺服器來給我們的公眾號伺服器發送訊息並且能顯示我們返回的任何訊息格式的工具.
幸運的是我們在網上可以找到這樣一個工具`webbot-cli`,
這個工具的地址是開源的,源碼地址是: https://github.com/node-webot/webot-cli/blob/master/README.md
這是一個nodejs編寫的工具,要安裝這個工具我們首先需要安裝nodejs開發環境.
這裡是nodejs的官網 https://nodejs.org/, 按照官網的指示一步步安裝就OK了.
安裝完成後我們可以利用`npm`工具安裝這個類比開發調試工具.
安裝命令是:
複製代碼
安裝這個工具需要管理員權限,所以mac和linux使用者可能需要使用`sudo`.
安裝完成後我們介紹一個這個工具的使用.
我們直接在命令列調用如下命令就會開始運行這個工具,
複製代碼
其中`weixin` 為我們之前配置的token參數,
`http://weixinshow001.sinaapp.com` 為我們公眾平台的伺服器位址.
大家需要把這兩個參數更改為自己的.
程式的運行介面長得是這個樣子的:
運行成功時會回顯剛才傳進去的url和token.
這裡我們簡單地測試一條text訊息,
選中狀態下斷行符號會進入文本輸入介面.
我們隨便輸入一些文字,然後點擊斷行符號發送.
然後我們看到一個錯誤,這是為啥呢?
原因是這樣的,這個工具並未完全按照官方的訊息格式發送,
官方的伺服器在發送訊息時並沒有在GET欄位中添加`echostr`項,
而這個工具會在任意一條訊息發送`echostr`欄位.
我們之前使用的wechat-php庫是使用這個欄位來判斷是否是token驗證特殊請求的,
如果是token驗證特殊請求就會返回echostr欄位並且終止後續操作,
於是造成了這個錯誤的產生.
現在我們修改一下我們的庫來相容這個測試庫.
我們開啟`Wechat.php`檔案,在檔案中找到`isValidateIncomingConn`函數,
這個函數是用來判斷這一個請求是否是token驗證請求的.
我們更改為一下內容:
複製代碼
完成更高後上傳到SAE的伺服器使之生效,然後重新在`webot`中發送簡訊,我們就可以看到正確的回顯了.
基於這種調試方式,我們甚至可以再本機伺服器上調試了!
基於這種調試方式,我們甚至可以再本機伺服器上調試了!
基於這種調試方式,我們甚至可以再本機伺服器上調試了!
只要把調試工具的url參數設定成本地url就ok了.
另外如果喜歡在外網伺服器上寫代碼,官方提供的測試頁也是不錯的:http://mp.weixin.qq.com/debug
感謝你的閱讀,請用心感悟!希望可以幫到初學的您!!分享也是一種快樂!!!請接力。。。
http://www.bkjia.com/PHPjc/1130486.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1130486.htmlTechArticle教程四:調試公眾號伺服器,調試公眾 在進入正式的開發之前,我們還需要掌握公眾號開發的調試方法. 如果我們完全依賴接收到的訊息...