什么是微信小程序调用图片安全API
微信小程序调用图片安全API是指使用微信官方提供的API服务来检测上传的图片是否营销、暴恐、色情、涉政、敏感词等违规内容,从而保障用户的使用安全和体验。
如何调用微信小程序图片安全API
1. 获取API密钥
在使用图片安全API之前,我们需要先在微信公众平台申请一个API密钥,申请步骤如下:
登录微信公众平台,在左侧菜单中选择“开发”
点击“开发者工具”,选择“API密钥”,在弹出窗口中填写相关信息并提交申请
审核通过后,系统将会生成一个API密钥和一个API秘钥
2. 调用图片安全API
在小程序中调用API接口,需要使用微信提供的wx.request()函数,具体代码如下:
wx.request({
url: 'https://api.weixin.qq.com/secapi/img/seccheck',
data: {
apikey: 'your_apikey', // 将your_apikey替换成申请得到的API密钥
media: 'your_image_url', // 将your_image_url替换成需要检测的图片URL地址
nonce_str: 'your_nonce_str', // 生成随机字符串
timestamp: Math.floor(Date.now() / 1000).toString() // 生成时间戳
},
method: "POST", // 使用POST请求方式
dataType: "json",
success: function(res){
console.log(res.data); // res.data中包含检测结果
},
fail: function(res){
console.log(res);
}
})
如何解析检测结果
图片安全API返回的检测结果是一个JSON字符串,包含以下字段:
errcode:错误码
errmsg:错误信息
conclusion:检测结果,枚举值为pass(图片正常)、review(需人工审核)和block(图片违规)
trace_id:每次请求的唯一标识
suggestion:建议处理方式,包括pass(不做处理)、delete(删除图片)和review(人工审核)
我们可以根据以上字段进行处理,代码如下:
wx.request({
url: 'https://api.weixin.qq.com/secapi/img/seccheck',
data: {
apikey: 'your_apikey',
media: 'your_image_url',
nonce_str: 'your_nonce_str',
timestamp: Math.floor(Date.now() / 1000).toString()
},
method: "POST",
dataType: "json",
success: function(res){
var result = JSON.parse(res.data); // 解析JSON字符串
if(result.conclusion == 'pass'){
console.log("图片正常");
}else if(result.conclusion == 'review'){
console.log("图片需人工审核");
}else if(result.conclusion == 'block'){
if(result.suggestion == 'delete'){ // 删除图片
console.log("图片违规,已删除");
}else if(result.suggestion == 'review'){ // 人工审核
console.log("图片违规,需人工审核");
}
}
},
fail: function(res){
console.log(res);
}
})
注意事项
调用图片安全API时,需要注意以下几点:
在调用API之前,必须先将图片上传至腾讯云COS,并获取图片的URL地址
在生成随机字符串nonce_str和时间戳timestamp时,需要保证与微信服务器时间一致
在调用API时,需要使用HTTPS协议进行加密传输,同时需要将API密钥和API秘钥进行加密签名
图片安全API的请求频率受到限制,每天最多只能发起5000次请求
总结
微信小程序调用图片安全API可以有效地检测图片中的违规内容,保障用户的使用安全和体验。在使用API时,需要注意调用方式和结果解析,同时注意请求频率的限制。