本篇文章主要介紹了詳解nodejs微信公眾號開發-1.接入微信公眾號,非常具有實用價值,需要的朋友可以參考下
接入微信公眾號是開發的第一步,萬事起頭難,走好第一步,後面的路就更寬廣。
1.公眾平台測試帳號的使用
#登入微信公眾平台,由於許多開發人員並沒有認證的微信公眾號,所以比較折中的方式是使用公眾平台測試帳號
來測試功能,其優點是能夠測試微信公眾號的絕大部分功能,不受認證門檻的限制。
進入測試帳號管理介面:
我們需要設定介面的信息,URL
和Token
是微信公眾平台和本地開發服務建立連結的橋樑。
微信配置好後,掃面下方的測試號二維碼,也就是可以在手機上測試開發的功能。
2.驗證公眾號
#一圖勝千言。接取公眾號時,微信公眾平台需要驗證開發者的身份,向開發者填寫的URL發送一個GET請求,請求中包含4個參數:signature
、<a href="http://www.php.cn/wiki/1343.html" target="_blank">echo</a>str
、<a href="http://www.php.cn/wiki/1268.html" target="_blank">time</a>stamp
和nonce
,收到該請求,我們需要做的事情:
將token
、timestamp
和nonce
三個參數進行字典排序;
#將加密後的字串與signature
進行比較,如果相同,表示這個請求來自微信,我們直接原樣回傳echostr的內容,接入驗證成功。
3.建立開發伺服器
#建置開發伺服器的方式有很多,如購買雲端伺服器、使用花生殼、ngrok 、localtunnel等。這裡為了簡單起見採用localtunnel。先全域方式安裝localtunnel
,
npm install -g lt
啟動lt
lt --port 8080 //对外暴露8080端口,可端口号可自己随便设定
4.寫程式碼
好了,現在開始寫app.js的程式碼:
'use strict' var Koa = require('koa'); var sha1 = require('sha1'); var config = { wechat:{ appID:'...', //填写你自己的appID appSecret:'...', //填写你自己的appSecret token:'...' //填写你自己的token } }; var app = new Koa(); app.use(function *(next){ var token = config.wechat.token; var signature = this.query.signature; var nonce = this.query.nonce; var timestamp = this.query.timestamp; var echostr = this.query.echostr; var str = [token,timestamp,nonce].sort().join(''); //按字典排序,拼接字符串 var sha = sha1(str); //加密 this.body = (sha === signature)? echostr + '' : 'failed'; //比较并返回结果 }); app.listen(8080);
5.設定測試公眾號資訊
程式碼寫完畢,現在開始正式設定囉。在終端機中輸入lt --port 8080
啟動localtunnel,得到對外可存取的URL
:
URL填寫到
測試帳號管理介面中的
URL,
Token欄位可隨意填寫,方便起見,就用
wemovie#吧!
註:
提交提示的是黃條的
配置失敗,需要多點一兩次按鈕;
URL,然後重新配置。 (這就是選擇簡單付出的代價T_T)
以上是解析nodejs微信公眾號開發之-1.接取微信公眾號的詳細內容。更多資訊請關注PHP中文網其他相關文章!