如何進(jìn)行微信公眾號(hào)開發(fā)的本地調(diào)試的方法
微信團(tuán)隊(duì)為廣大的開發(fā)者提供了一個(gè)測試賬號(hào)。該帳號(hào)無需公眾賬號(hào),快速申請(qǐng)接口測試,直接體驗(yàn)和測試公眾平臺(tái)所有高級(jí)接口。這么好用的功能,只需要要你有一個(gè)手機(jī),手機(jī)上安裝了一個(gè)微信即可。
地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login
登錄后,會(huì)得到一個(gè)微信號(hào),和測試好的相關(guān)信息。appID,appsecret。
接口配置信息,js接口安全域名配置按照生產(chǎn)環(huán)境的配置即可。
下面重點(diǎn)開始了。已經(jīng)有了一個(gè)可供測試的公眾號(hào),如何進(jìn)行測試呢,最直接的辦法是,在本地開發(fā)環(huán)境把已經(jīng)運(yùn)行的生產(chǎn)環(huán)境的公眾號(hào)配置成剛申請(qǐng)的這個(gè)開發(fā)賬號(hào)即可,但顯然這個(gè)方法蠢哭了。
我們采用的方法是,在配置文件上增加一個(gè)參數(shù)的方式。比如我們生產(chǎn)環(huán)境的微信配置信息都寫在wechat-config.xml中,這個(gè)時(shí)候,增加另一個(gè)配置文件wechat-config-yimiyan.xml。啟動(dòng)jvm時(shí)增加參數(shù)
-Dwechat-config=yimiyan。程序中中需要稍加修改。
例如原本系統(tǒng)啟動(dòng)時(shí)讀取wechat-config.xml文件
WeChatUtils.class.getResourceAsStream("/wechat-config.xml");
現(xiàn)在修改為:
String wechatConfig = System.getProperty("wechat-config"); //得到的是剛剛我們添加的參數(shù)-Dwechat-config的值,即yimiyan
將原本的讀取配置文件修改為:
WeChatUtils.class.getResourceAsStream("/wechat-config-"+wechatConfig+".xml");
這樣,每個(gè)開發(fā)的小伙伴都可以在自己的環(huán)境上進(jìn)行測試了。
準(zhǔn)備就緒之后,開始下一步的操作--配置菜單。
用手機(jī)掃描頁面上的二維碼后,關(guān)注了這個(gè)測試公眾號(hào),是沒有菜單的,這個(gè)時(shí)候要配置菜單怎么辦呢。
有兩種方式,使用postman工具或者使用微信提供的調(diào)試接口。
筆者比較懶,直接用了微信的接口調(diào)試工具設(shè)置的。地址:https://mp.weixin.qq.com/debug
第一步,獲取access_tocken
輸入測試公眾號(hào)頁面的appID和appsecret,點(diǎn)擊檢查問題
獲取到access_token之后,使用這個(gè)access_token跟測試公眾號(hào)設(shè)置菜單。接口類型選擇自定義菜單,填入剛剛獲取到的access_token,以及菜單的json串。
點(diǎn)擊檢查問題后,如果設(shè)置成功,結(jié)果如下
這個(gè)時(shí)候,在用微信掃一掃測試公眾號(hào)的二維碼,應(yīng)該就會(huì)有菜單了,但是筆者在測試的時(shí)候發(fā)現(xiàn),不知道是延遲還是緩存,第一次設(shè)置還好,多設(shè)置幾次,要取關(guān),清楚手機(jī)歷史等操作,才會(huì)發(fā)現(xiàn)新菜單生效了。
到目前為止,我們一切的準(zhǔn)備工作就基本完成了。在測試公眾號(hào)里面,點(diǎn)擊菜單,享受著成功的喜悅的時(shí)候,滿心歡喜的點(diǎn)擊,蹦出來的是redirect_uri:參數(shù)錯(cuò)誤
這是什么鬼
最后一步的配置:
在測試微信公眾號(hào)那個(gè)頁面,那個(gè)頁面很長,往下拉,找到網(wǎng)頁服務(wù)--》網(wǎng)頁賬號(hào)--》網(wǎng)頁授權(quán)獲取用戶基本信息,點(diǎn)擊修改,配上外網(wǎng)能訪問你測試環(huán)境的ip或者域名即可。
整個(gè)配置最重要的一點(diǎn)就是,你需要擁有一個(gè)能通過外網(wǎng)訪問你的測試環(huán)境的域名或者ip。
NB:這里需要注意一點(diǎn),如果這個(gè)地址填寫的不正確,將會(huì)報(bào)錯(cuò)如下。此處只需填寫域名即可,授權(quán)微信訪問這個(gè)域名,具體要訪問哪個(gè)項(xiàng)目哪個(gè)方法,在程序中控制。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解析element-ui中upload組件傳遞文件及其他參數(shù)的問題
這篇文章主要介紹了element-ui中upload組件如何傳遞文件及其他參數(shù),分析一下我使用element-ui遇到的問題以及解決方法,需要的朋友可以參考下2021-11-11JavaScript自定義日期格式化函數(shù)詳細(xì)解析
下面的一個(gè)例子就是以獨(dú)立函數(shù)寫出的JavaScript日期格式化函數(shù),獨(dú)立的format函數(shù)?;氐礁袷交倪@一知識(shí)點(diǎn)上,我們考查的是怎么實(shí)現(xiàn)的、運(yùn)用了哪些原理2014-01-01js讀寫cookie實(shí)現(xiàn)一個(gè)底部廣告浮層效果的兩種方法
使用js實(shí)現(xiàn)一個(gè)頁面浮層效果,用js讀寫cookie來實(shí)現(xiàn)用戶關(guān)閉廣告的顯示狀態(tài),下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-12-12Cordova(ionic)項(xiàng)目實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Cordova項(xiàng)目實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09js+html實(shí)現(xiàn)網(wǎng)頁五子棋
這篇文章主要為大家詳細(xì)介紹了js+html實(shí)現(xiàn)網(wǎng)頁五子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05setTimeout時(shí)間設(shè)置為0詳細(xì)解析
setTimeout( ) 是屬于 window 的 method, 但我們都是略去 window 這頂層容器名稱, 這是用來設(shè)定一個(gè)時(shí)間, 時(shí)間到了, 就會(huì)執(zhí)行一個(gè)指定的 method,下面這篇文章主要給大家介紹了關(guān)于setTimeout時(shí)間設(shè)置為0的相關(guān)資料,需要的朋友可以參考下。2018-03-03JavaScript canvas實(shí)現(xiàn)七彩時(shí)鐘效果
這篇文章主要為大家詳細(xì)介紹了JavaScript canvas實(shí)現(xiàn)七彩時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05