微信小程序敏感内容检测
获取access_token
access_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
| 参数 | 是否必须 | 说明 |
| 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
| 参数 | 是否必须 | 说明 |
| access_token | 是 | 接口凭证 |
| content | 是 | 检测的文本内容 |
正常返回结果
{
"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
| 参数 | 是否必须 | 说明 |
| access_token | 是 | 接口凭证 |
| media | 是 | 图片文件,支持jpeg,jpg,png,gif,像素不超过750*1334 |
正常返回结果
{
"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"}
}
})
转载自:https://funteas.com/topic/5b0926d0a9f4524666d3109c
微信小程序敏感内容检测的更多相关文章
- PHP 实现微信小程序敏感图片、内容检测接口
主要是为了调用微信小程序msgSecCheck.imgSecCheck接口. 先附上小程序接口说明文档地址:https://developers.weixin.qq.com/miniprogram/d ...
- [入门到吐槽系列] 微信小程序 敏感违规图片检测 mediaCheckAsync,客服接口 消息推送 的各种坑分享!
前言: 最近需要做个用户上传图片,服务端校验图片问题的需求.需要使用小程序消息推送,异步接受腾讯的图片验证回调.实在太多坑了. 相信10分钟看完本文的朋友,可以非常顺利避坑. 前期准备: 首先需要一个 ...
- 关于微信小程序更新内容后手机上不能及时显示的办法
这几天一直在做微信小程序的二次开发,每天都要发布程序,但是发布之后微信上查看小程序和以前的一模一样,丝毫没有改变,但是我再本地上却改变了,而且没有开的不校验合法域名那个.这是为啥呢????? 这是跟小 ...
- 微信小程序授权及检测访问当前页面需要去登录的操作
1.小程序授权登录 这里我直接复制代码: login.js const app = getApp() Page({ data: { //判断小程序的API,回调,参数,组件等是否在当前版本可用. ca ...
- 微信小程序 canvas 内容(宽高) 兼容不同机型
此功能并没有做所有机型测试,后面会一个一个做一下,如需使用请先自作测试! canvas在小程序中设定的尺寸默认是px 并不是rpx的 所以需要转换一下 PS:设计稿是750像素 wx.getSyste ...
- 微信小程序-基础内容组件
icon 图标 示例: <view class="group"> <block wx:for="{{iconSize}}"> <i ...
- 张小龙微信小程序演讲内容简介
1月9号,看看实际上如何
- 如何将微信小程序页面内容充满整个屏幕
修改该页面的wxss文件 /* pages/weather/weather.wxss */ .weather{ position: fixed; height: 100%; width: 100%; ...
- 微信小程序学习指南
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
- 小程序开发运营必看:微信小程序平台运营规范
一.原则及相关说明 微信最核心的价值,就是连接——提供一对一.一对多和多对多的连接方式,从而实现人与人.人与智能终端.人与社交化娱乐.人与硬件设备的连接,同时连接服务.资讯.商业. 微信团队一 ...
随机推荐
- quarkus依赖注入之四:选择注入bean的高级手段
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是<quarkus依赖注入> ...
- Could not extract response: no suitable `HttpMessageConverter` found for response type [class wechat.xx] and content type [text/plain] 问题
1. 问题复现 话不多说,先贴出问题代码:这里的GetUserInfoByAccessToken是我自定义的一个实体类. GetUserInfoByAccessToken getUserInfoByA ...
- jmeter:json提取一个字段的多个值,用逗号分隔
目的:将接口响应结果中的一个字段的所有值同时提取,作为参数传给下个接口 1. 格式化接口响应结果 获取下图中所有object里面的EMP_UID 2. json提取 JSON Path express ...
- 两种方式,轻松实现ChatGPT联网
两种方式效果: 方式一:浏览器搜索内嵌插件 方式二:官方聊天页内嵌插件 首先,要有一个谷歌浏览器,然后再安装一个叫ChatGPT for Google,直接在谷歌里搜一下就能找,也可以Chrome应用 ...
- Web通用漏洞--sql注入
SQL注入 mysql注入目的:获取当前web权限 mysql注入--常规查询&union联合查询 MYSQL--Web组成架构 服务器搭建web服务可能存在多个站点搭建在一台服务器中,数据集 ...
- Navicat连接docker mysql出错
一.启动容器 首先启动docker mysql: docker run -itd --name mysql -p 13306:3306 -e MYSQL_ROOT_PASSWORD=123456 my ...
- Conda 命令深入指南
Conda 命令深入指南 Conda 是一个功能强大的包管理系统,允许您为不同的项目创建和管理隔离的环境,从而更轻松地处理不同的依赖项集. 安装 可以按照 Conda 官方网站 (https://co ...
- socket应用的例子
当使用 C 语言实现 Socket 编程时,可以通过系统提供的网络库来实现网络通信.以下是一个简单的示例,演示了如何创建一个简单的服务器和客户端,实现客户端向服务器发送消息并接收回复的功能. 服务器端 ...
- PostgreSQL学习笔记-2.基础知识:INSERT、SELECT、运算符、表达式、约束
PostgreSQL INSERT INTO 语句用于向表中插入新记录,兼容SQL通用语法. 语法 INSERT INTO 语句语法格式如下: INSERT INTO TABLE_NAME (colu ...
- 0 基础晋级 Serverless 高手课 — 初识 Serverless(下)
冷启动 1. 流量预测 2. 提前启动 3. 实例复用 每个厂商规范不一致:,兼容,适配层:adapter: fs+oss 云厂商对比 产品维度 功能架构角度 个人博客官网 小程序 ...