在微信公衆平臺開發過程當中,主要涉及到兩大方面問題,一個是網頁受權,一個是JS SDK使用。由於最近遇到各類坑,故抽空通讀了微信提供的公衆平臺開發者文檔,並在此作下總結。html
1.用戶贊成受權,獲取code(前端調用):前端
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
用戶點擊「確認登陸」(即贊成受權),跳到回調地址redirect_uri,並回傳code:後端
redirect_uri/?code=CODE&state=STATE(這一步就跳到咱們本身的後端服務工程了)
code有5分鐘時效;redirect_uri須要登陸到公衆平臺配置。api
2.經過code換取網頁access_token(後端調用):安全
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
微信返回access_token(受權接口調用憑證)和openid(用戶惟一標識,不管是否關注公衆號都有)
其中appid、secret都是公衆號分配的,可登陸到公衆平臺查看;access_token有2個小時時效。微信
3.拉取用戶信息(後端調用):app
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
1.綁定安全域名:即容許調用JS SDK開發工具的域名,通常爲前端頁面域名,須要登陸到公衆平臺配置。微信公衆平臺
2.引入jweixin.js文件異步
3.驗證簽名:工具
wx.config({ debug: true, // 開啓調試模式,調用的全部api的返回值會在客戶端alert出來,若要查看傳入的參數,能夠在pc端打開,參數信息會經過log打出,僅在pc端時纔會打印。 appId: '', // 必填,公衆號的惟一標識 timestamp: , // 必填,生成簽名的時間戳 nonceStr: '', // 必填,生成簽名的隨機串 signature: '',// 必填,簽名,見附錄1 jsApiList: [] // 必填,須要使用的JS接口列表,全部JS接口列表見附錄2 });
4.經過ready接口處理驗籤成功回調:
wx.ready(function(){ //異步 });
5.經過error接口處理驗籤失敗回調:
wx.error(function(res){ //異步 });
哈,本文只是作下總結,具體仍是要參考微信官方說明文檔。
下面總結遇到的一些報錯,並分析其緣由:1.報「微信簽名失敗」:有多是安全域名配置有誤;2.報「未關注該測試號」:測試號有關注人數限制,有多是已經達到上限了。