微信小程序开发者工具获取和更新newticket

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上传代码,获取预览的二维码。

 

posted @ 2020-08-10 16:42  零贰  阅读(3603)  评论(3编辑  收藏  举报