java微信公眾號開發(fā)(搭建本地測試環(huán)境)
俗話說,工欲善其事,必先利其器。要做微信公眾號開發(fā),兩樣?xùn)|西不可少,那就是要有一個(gè)用來測試的公眾號,還有一個(gè)用來調(diào)式代碼的開發(fā)環(huán)境。
測試公眾號
微信公眾號有訂閱號、服務(wù)號、企業(yè)號,在注冊的時(shí)候看到這樣的信息,只有訂閱號可以個(gè)人申請,服務(wù)號和企業(yè)號要有企業(yè)資質(zhì)才可以。這里所說的微信公眾號開發(fā)指的是訂閱號和服務(wù)號。

另外,未認(rèn)證的個(gè)人訂閱號有一些接口是沒有權(quán)限的,并且目前個(gè)人訂閱號已不支持微信認(rèn)證,也就是說個(gè)人訂閱號無法調(diào)用一些高級的權(quán)限接口,下圖就是一個(gè)未認(rèn)證的個(gè)人訂閱號所具備權(quán)限列表,像生成二維碼、網(wǎng)頁授權(quán)、自定義菜單、微信支付這樣的接口權(quán)限都是不具備的。

說了半天,那如果沒有企業(yè)資質(zhì),又想做高級接口的開發(fā)怎么辦呢。
微信公眾平臺提供了測試公眾賬號,登錄地址為:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,只需要到這個(gè)頁面,點(diǎn)擊登錄,并用自己的微信客戶端掃碼,并授權(quán)登錄,就可以獲得屬于自己的測試公眾號。測試公眾號具備幾乎所有的接口,平時(shí)開發(fā)如果沒有可用的公眾號,就用這個(gè)測試的公眾號就可以了。
本地測試環(huán)境
開發(fā)微信公眾賬號的一大痛苦之處就是調(diào)試問題,每次實(shí)現(xiàn)一個(gè)功能后都需要部署到一個(gè)公網(wǎng)服務(wù)器,雖然目前有各種免費(fèi)云平臺可以部署,但是調(diào)式基本只能靠日志輸出了,而且沒次修改->部署->查看日志,這樣的操作過程非常浪費(fèi)時(shí)間,時(shí)間就是生命,這樣難道不是在浪費(fèi)生命嗎。那么,有沒有辦法可以本地部署,本地調(diào)試呢?
當(dāng)然有,因?yàn)槊看蜗蚬娞柊l(fā)送一條指令,公眾號所在的服務(wù)器要和你的服務(wù)器進(jìn)行網(wǎng)絡(luò)交互,所以說你的服務(wù)器要保證外網(wǎng)可以訪問到,那么只需要將你本地映射到一個(gè)外網(wǎng)地址即可實(shí)現(xiàn)微信公眾號的本地調(diào)試。提供這樣功能的軟件不少,比如花生殼,但是要收費(fèi)的。這里介紹一個(gè)免費(fèi)的軟件,ngrok,訪問可能需要FQ。根據(jù)本地所需的版本,windows或者linux版,然后注冊賬號,賬號注冊成功后,會得到一個(gè)免費(fèi)授權(quán)碼,這個(gè)授權(quán)碼在第一次啟動(dòng)ngrok時(shí)會用到。
以我本地為例,我下載的是windows版本的,下載并解壓后,找到解壓目錄,雙擊ngrok.exe,第一次啟動(dòng)時(shí),輸入如下命令:
ngrok -authtoken 授權(quán)碼 80
之后再啟動(dòng),雙擊ngrok.exe即可,啟動(dòng)后輸入命令將本機(jī)映射到外網(wǎng),將本地8080端口下的web服務(wù)映射到外網(wǎng)80端口,命令如下:
ngrok http 8080
啟動(dòng)后的界面如下:
紅色部分即為映射的外網(wǎng)地址,現(xiàn)在訪問這個(gè)地址就是訪問本地的8080端口。但是免費(fèi)版的ngrok,生成的外網(wǎng)映射地址是隨機(jī)的,每次重新啟動(dòng)都會不一樣,但其實(shí)并無大礙,因?yàn)槊刻靚grok啟動(dòng)一次中途基本不會關(guān)閉,每次啟動(dòng)之后,到微信測試公眾號管理頁面,重新配置一下即可。

截止到目前為止ngrok是可用的,也就是說ngrok服務(wù)器雖然被墻了,但是微信公眾號服務(wù)器是可以訪問的,這樣一來也就不妨礙我們做本地調(diào)式了。只是下載注冊ngrok需要FQ一下。
國內(nèi)也有一些ngrok服務(wù)器,但是沒有試過,如果有興趣可以自行搜索一下。當(dāng)然如果有能力,可以自己搭建一個(gè)ngrok平臺,ngrok是go語言實(shí)現(xiàn)的。
以上就是用java開發(fā)微信公眾號實(shí)現(xiàn)了公眾號測試與本地測試環(huán)境搭建,希望對大家的學(xué)習(xí)有所幫助。
- java微信公眾號企業(yè)付款開發(fā)
- Java版微信公眾號支付開發(fā)全過程
- 微信公眾號開發(fā)之設(shè)置自定義菜單實(shí)例代碼【java版】
- java微信公眾號支付開發(fā)之現(xiàn)金紅包
- 微信公眾號開發(fā)之回復(fù)圖文消息java代碼
- Java微信公眾號開發(fā)之通過微信公眾號獲取用戶信息
- java微信公眾號開發(fā)案例
- 用Java設(shè)計(jì)模式中的觀察者模式開發(fā)微信公眾號的例子
- java微信公眾號開發(fā)第一步 公眾號接入和access_token管理
- Java開發(fā)微信公眾號接收和被動(dòng)回復(fù)普通消息
- java開發(fā)微信公眾號支付
- Java 微信公眾號開發(fā)相關(guān)總結(jié)
相關(guān)文章
java開發(fā)分布式服務(wù)框架Dubbo服務(wù)引用過程詳解
這篇文章主要為大家介紹了java開發(fā)分布式服務(wù)框架Dubbo服務(wù)引用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11
Java中Optional.of()方法及源碼解析(非常詳細(xì)!)
這篇文章主要給大家介紹了關(guān)于Java中Optional.of()方法及源碼解析的相關(guān)資料,Java中java.util .Optional類的of()方法用于獲得該Optional類中具有指定類型的指定值的一個(gè)實(shí)例,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-06-06
Java設(shè)計(jì)模式之依賴倒轉(zhuǎn)原則精解
設(shè)計(jì)模式(Design pattern)代表了最佳的實(shí)踐,通常被有經(jīng)驗(yàn)的面向?qū)ο蟮能浖_發(fā)人員所采用。設(shè)計(jì)模式是軟件開發(fā)人員在軟件開發(fā)過程中面臨的一般問題的解決方案。本篇介紹設(shè)計(jì)模式七大原則之一的依賴倒轉(zhuǎn)原則2022-02-02
Springboot整合spring-boot-starter-data-elasticsearch的過程
本文詳細(xì)介紹了Springboot整合spring-boot-starter-data-elasticsearch的過程,包括版本要求、依賴添加、實(shí)體類添加、索引的名稱、分片、副本設(shè)置等,同時(shí),還介紹了如何使用ElasticsearchRepository類進(jìn)行增刪改查操作2024-10-10
SpringBoot集成Redis實(shí)現(xiàn)驗(yàn)證碼的簡單案例
本文主要介紹了SpringBoot集成Redis實(shí)現(xiàn)驗(yàn)證碼的簡單案例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Netty分布式NioSocketChannel注冊到selector方法解析
這篇文章主要為大家介紹了Netty分布式源碼分析NioSocketChannel注冊到selector方法的解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
Spring負(fù)載均衡LoadBalancer使用詳解
這篇文章主要介紹了Spring負(fù)載均衡LoadBalancer使用詳解,Spring Cloud LoadBalancer是Spring Cloud官方自己提供的客戶端負(fù)載均衡器, 用來替代Ribbon,Spring官方提供了兩種客戶端都可以使用loadbalancer,需要的朋友可以參考下2023-11-11

