小程序模板網(wǎng)

微信小程序敏感內(nèi)容檢測

發(fā)布時間:2018-05-29 11:26 所屬欄目:小程序開發(fā)教程

獲取access_token

access_token是公眾號的全局唯一接口調(diào)用憑據(jù),公眾號調(diào)用各接口時都需使用access_token。開發(fā)者需要進行妥善保存。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
參數(shù) 是否必須 說明
grant_type 此處為client_credential
appid 小程序的appid
secret 小程序的appsecret

正常返回結(jié)果

{"access_token":"ACCESS_TOKEN","expires_in":7200}

其他具體信息查看文檔

敏感文本檢測

這是接口基于https協(xié)議。開發(fā)者服務(wù)器可以調(diào)用此接口校驗一段文本是否含有敏感信息。接口為

https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN
參數(shù) 是否必須 說明
access_token 接口憑證
content 檢測的文本內(nèi)容

正常返回結(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)用此接口校驗一張圖片是否含有敏感信息。接口為

https://api.weixin.qq.com/wxa/img_sec_check?access_token=ACCESS_TOKEN
參數(shù) 是否必須 說明
access_token 接口憑證
media 圖片文件,支持jpeg,jpg,png,gif,像素不超過750*1334

正常返回結(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"}
    }
})


易優(yōu)小程序(企業(yè)版)+靈活api+前后代碼開源 碼云倉庫:starfork
本文地址:http://u-renovate.com/wxmini/doc/course/24473.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點擊咨詢
QQ在線咨詢