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上傳代碼,獲取預覽的二維碼。
