获取access_tokenaccess_token是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。开发者需要进行妥善保存。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效。 在使用敏感文本接口和敏感图片接口都需要access_token参数,获取access_token接口为 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
正常返回结果 {"access_token":"ACCESS_TOKEN","expires_in":7200} 其他具体信息查看文档 敏感文本检测这是接口基于https协议。开发者服务器可以调用此接口校验一段文本是否含有敏感信息。接口为 https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN
正常返回结果 { "errcode": "0", "errmsg": "ok" } 当content内含有敏感信息,则返回87014 { "errcode": 87014, "errmsg": "risky content" } 其余错误见返回码说明 { "errcode": 40001, "errmsg": "invalid credential, access_token is invalid or not latest" } 示例代码 wx.request({ url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=your app id&secret=your secret', method: 'GET', success: res => { var access_token = res.data.access_token; wx.request({ method: 'POST', url: `https://api.weixin.qq.com/wxa/msg_sec_check?access_token=${access_token}`, data: { content: me.data.title }, success(res) { if (res.errcode !== 87014) { // 合格 } } }) }, fail() { console.log(res); } }) 敏感图片检测这是接口基于HTTPS协议。开发者服务器可以调用此接口校验一张图片是否含有敏感信息。接口为 https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESS_TOKEN
正常返回结果 { "errcode": "0", "errmsg": "ok" } 当图片文件内含有敏感内容,则返回87014 { "errcode": 87014, "errmsg": "risky content" } 其余错误见返回码说明 { "errcode": 40001, "errmsg": "invalid credential, access_token is invalid or not latest" } 在使用图片接口时候,如以下示例 let formData = new FormData(); formData.append('file', file); wx.request({ url: `https://api.weixin.qq.com/wxa/img_sec_check?access_token=${access_token}`, method: 'POST', data: { media: formData }, success: res => { console.log(res); } }) 发现报错,百度了都说要PHP什么鬼 {"errcode":41005,"errmsg":"media data missing hint: [UQNXoA04384524]"} 最后发现解决方法是提交文件时候设置header头部信息'Content-Type': 'application/octet-stream',所以在请求的头部添加header配置即可 wx.request({ url: `https://api.weixin.qq.com/wxa/img_sec_check?access_token=${access_token}`, method: 'POST', header: { 'Content-Type': 'application/octet-stream' }, data: { media: formData }, success: res => { console.log(res); // {"errcode":0,"errmsg":"ok"} } }) |