獲取access_tokenaccess_token是公眾號的全局唯一接口調(diào)用憑據(jù),公眾號調(diào)用各接口時都需使用access_token。開發(fā)者需要進(jìn)行妥善保存。access_token的存儲至少要保留512個字符空間。access_token的有效期目前為2個小時,需定時刷新,重復(fù)獲取將導(dǎo)致上次獲取的access_token失效。 在使用敏感文本接口和敏感圖片接口都需要access_token參數(shù),獲取access_token接口為 https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
正常返回結(jié)果
{"access_token":"ACCESS_TOKEN","expires_in":7200}
其他具體信息查看文檔 敏感文本檢測這是接口基于https協(xié)議。開發(fā)者服務(wù)器可以調(diào)用此接口校驗(yàn)一段文本是否含有敏感信息。接口為 https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN
正常返回結(jié)果
{
"errcode": "0",
"errmsg": "ok"
}
當(dāng)content內(nèi)含有敏感信息,則返回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協(xié)議。開發(fā)者服務(wù)器可以調(diào)用此接口校驗(yàn)一張圖片是否含有敏感信息。接口為 https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESS_TOKEN
正常返回結(jié)果
{
"errcode": "0",
"errmsg": "ok"
}
當(dāng)圖片文件內(nèi)含有敏感內(nèi)容,則返回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);
}
})
發(fā)現(xiàn)報錯,百度了都說要PHP什么鬼
{"errcode":41005,"errmsg":"media data missing hint: [UQNXoA04384524]"}
最后發(fā)現(xiàn)解決方法是提交文件時候設(shè)置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"}
}
})
|