newticket是微信開發者工具和微信后台交互的憑證。大多數工具的操作都是需要newticket。
如何獲取newticket?
打開開發者工具,依次點擊菜單設置->通用設置->代理,使用代理監聽接口請求。(這里使用fiddler代理)
點擊頭像,選擇切換登錄,使用開發者的微信掃碼登錄。PS:獲取到的憑證是有時效的,重新登錄憑證會失效,建議不要使用自己的開發賬號登錄。
代理工具查看https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/qrcode接口,選擇查看響應的頭部,得到newticket
如何更新newticket?
因為newticket是有時效性的,在過期后需要更新newticket后才能正常使用。
而更新newticket需要開發者工具的signature和openid,這兩個參數的值可以從上一步的請求中找到。PS:這兩個參數的值在重新登錄前是固定不變的,需要存儲起來更新備用
通過接口更新newticket,需要注意的是返回的newticket是存放在header里面。
const request = require("request"); exports.getNewTick = ({signature,openid})=>{ return new Promise((resolve, reject) => { request({ url:"https://mp.weixin.qq.com/debug/cgi-bin/webdebugger/refreshticket?os=win&clientversion=1032006090", method:"POST", body:JSON.stringify({signature,openid}) },(error, response, body) => { const newTicket = response.headers['debugger-newticket']; if (error) { reject(error); return; } if(response.statusCode != 200){ reject({statusCode:response.statusCode}) return; } try{ const result = JSON.parse(body) result.newTicket = newTicket; resolve(result); }catch{ resolve({code:-1}); } }) }) }
最后,獲取這個newticket只是開始,后面我會更新如何使用newticket上傳代碼,獲取預覽的二維碼。