【休閑開發(fā)】Java微信公眾平臺開發(fā)初探

序:微信公眾平臺與微信小程序火的任性,筆者是一位剛?cè)腴T的初級程序員,是的,剛?cè)腴T就被與上古教材里沒教的微信層層安全認(rèn)證雷得外焦里嫩。好氣哦,所以才有了此文,記錄了那些我在用java開發(fā)微信的第一步——環(huán)境搭建與開發(fā)接入時被套路的一幕幕。本文僅代表作者個人觀點(diǎn),用語不妥請盡量克服,如有雷同,來打我啊。

說道微信公眾平臺(https://mp.weixin.qq.com),平時讀做“公眾號”,沒錯,它跟公共汽車一樣,所有人想上就上,別的乘客跟我無關(guān)。而它一般有三種型號:訂閱號、服務(wù)號和企業(yè)號。什么,微信小程序?那個司機(jī)飆車太野,現(xiàn)在改行代駕工作。對于個人開發(fā),訂閱號是最好的選擇,功能完備,還不擔(dān)心被交警多次盤查(審核信息)。

因此,在微信公眾平臺申請了訂閱號后,我們可以開始登錄,然后進(jìn)入如下頁面:

微信公眾平臺

接下來問題來了:如果你不會java,.net,python,php之類的編程語言,那么使用上圖標(biāo)出的“自動回復(fù)”、“自定義菜單”、“素材管理”三大功能依舊能夠經(jīng)營好一個簡單的公眾號。不夠智能怎么辦?沒關(guān)系,只要有高智商的設(shè)計師規(guī)劃好“極品傻瓜式”邏輯來扼殺大傻瓜用戶的獨(dú)創(chuàng)性;有高產(chǎn)似母豬的文秘每天更新來堵住催更黨的嘴。怕編程的問題都不存在的。

如果你會任何一個可以寫web的編程語言,會用tomcat或者其他平臺環(huán)境,就可以使用編程語言打開“開發(fā)模式”的大門。

那么首先,你需要一臺服務(wù)器……

誒誒,沒有服務(wù)器好商量,聽我解釋下,別急著賣腎……

(講了一堆域名映射、內(nèi)網(wǎng)穿透的原理后)總而言之,需要讓微信“覺得”你有一臺服務(wù)器,那么要做的,就是把自己內(nèi)網(wǎng)的ip映射成外網(wǎng)能夠訪問的地址,這樣的話從本機(jī)發(fā)布的項目就能被整個互聯(lián)網(wǎng)訪問到了。

所以,更正一下,首先需要有一個可供外網(wǎng)訪問的域名(80端口)。

能夠?qū)崿F(xiàn)這點(diǎn)的工具很多,奈何面對Ngrok、花生殼、nat123這些大佬,小的我是伺候不起。不是怕翻個墻、收點(diǎn)費(fèi)、改點(diǎn)設(shè)置什么的麻煩,因為不巧被我看到了natapp這個工具,不用翻墻,不用收費(fèi),一步到位,賊6。

生成域名方法如下

1、先實名注冊(https://natapp.cn/register),之后購買一條免費(fèi)隧道,可以得到一個authtoken,后面要用,先進(jìn)入下圖頁面配置;

隧道列表

2、根據(jù)實際情況配置本地地址和端口,一般為本機(jī)內(nèi)網(wǎng)ip和項目默認(rèn)端口;

配置地址和端口

3、打開tomcat服務(wù)器,在后臺運(yùn)行;

4、下載客戶端(https://natapp.cn/),解壓出exe,在exe所在地,按住shift,然后單擊鼠標(biāo)右鍵,選擇在此處打開命令行窗口;

5、輸入命令natapp –authtoken ******(******是第一步中得到的authtoken值)然后就能得到一個隨機(jī)分配的域名(在一段時間后會重新分配),這就是可以替代localhost:8080的域名了,可以嘗試在瀏覽器訪問下(通常會報500錯誤,因為沒有傳遞參數(shù))。

域名映射成功

有了域名后,下一步是成為微信開發(fā)者,左側(cè)有開發(fā)選項,就不細(xì)講了。成為開發(fā)者的標(biāo)志是有一個appID和appsecret。再填一個IP白名單,手續(xù)就辦完了。這里的ip是外網(wǎng)的ip,不要迷之自信地填什么192.168.1.1,去查一下(http://ip.qq.com)不會死人的。

之后,就是配置信息認(rèn)證了。這是需要用到編程的一步,方法如下:

1、熟悉官方開發(fā)者文檔說明;

官方開發(fā)者文檔

2、新建一個普通web項目,可以用maven支持,可以使用springmvc,為了方便說明,本例中我用servlet完成;

3、寫一個servlet,用于接收與傳遞參數(shù)。(可以改用springmvc)注意這里的token內(nèi)容和微信平臺上要寫的token內(nèi)容可以隨便定義,但兩者需保證一樣;

servlet的get方法

4、寫一個校驗類,包含一個比較方法和一個加密方法;

5、比較方法按照說明文檔給的步驟來寫,加密方法使用Sha1,網(wǎng)上有相應(yīng)方法代碼;

比較方法
加密方法

6、在web.xml中進(jìn)行配置,注意這里的路徑連帶項目名會體現(xiàn)在url中。

web.xml配置
校驗頁url添加項目名和配置的url

7、將項目部署在tomcat上,需同時開啟tomcat和natapp,提交申請。

如果沒有問題審核成功,開發(fā)的環(huán)境就基本配置好了。之后,聰明的人會選擇申請一個開發(fā)測試號,而自以為聰明的人就直接用前面申請的訂閱號開發(fā)了。過一會兒,那些自以為是的人會感嘆:我這個英雄為什么沒有大招?我這個接口為什么沒有權(quán)限?為什么還要賬號認(rèn)證?為什么還要花300大洋?然后只能乖乖回去申請開發(fā)測試號。不要問我為什么知道這些。

測試號

接下來就是漫長的個性化開發(fā)了,此處省略6666字……

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容