获取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

微信小程序敏感内容检测的更多相关文章

  1. PHP 实现微信小程序敏感图片、内容检测接口

    主要是为了调用微信小程序msgSecCheck.imgSecCheck接口. 先附上小程序接口说明文档地址:https://developers.weixin.qq.com/miniprogram/d ...

  2. [入门到吐槽系列] 微信小程序 敏感违规图片检测 mediaCheckAsync,客服接口 消息推送 的各种坑分享!

    前言: 最近需要做个用户上传图片,服务端校验图片问题的需求.需要使用小程序消息推送,异步接受腾讯的图片验证回调.实在太多坑了. 相信10分钟看完本文的朋友,可以非常顺利避坑. 前期准备: 首先需要一个 ...

  3. 关于微信小程序更新内容后手机上不能及时显示的办法

    这几天一直在做微信小程序的二次开发,每天都要发布程序,但是发布之后微信上查看小程序和以前的一模一样,丝毫没有改变,但是我再本地上却改变了,而且没有开的不校验合法域名那个.这是为啥呢????? 这是跟小 ...

  4. 微信小程序授权及检测访问当前页面需要去登录的操作

    1.小程序授权登录 这里我直接复制代码: login.js const app = getApp() Page({ data: { //判断小程序的API,回调,参数,组件等是否在当前版本可用. ca ...

  5. 微信小程序 canvas 内容(宽高) 兼容不同机型

    此功能并没有做所有机型测试,后面会一个一个做一下,如需使用请先自作测试! canvas在小程序中设定的尺寸默认是px 并不是rpx的 所以需要转换一下 PS:设计稿是750像素 wx.getSyste ...

  6. 微信小程序-基础内容组件

    icon 图标 示例: <view class="group"> <block wx:for="{{iconSize}}"> <i ...

  7. 张小龙微信小程序演讲内容简介

    1月9号,看看实际上如何

  8. 如何将微信小程序页面内容充满整个屏幕

    修改该页面的wxss文件 /* pages/weather/weather.wxss */ .weather{ position: fixed; height: 100%; width: 100%; ...

  9. 微信小程序学习指南

    作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...

  10. 小程序开发运营必看:微信小程序平台运营规范

    一.原则及相关说明 ​ 微信最核心的价值,就是连接——提供一对一.一对多和多对多的连接方式,从而实现人与人.人与智能终端.人与社交化娱乐.人与硬件设备的连接,同时连接服务.资讯.商业. ​ 微信团队一 ...

随机推荐

  1. bzip2: (stdin) is not a bzip2 file.

    用tar -zxvf dir.tar.gz命令解压即可.

  2. 高级SQL分析函数-窗口函数

    摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 SQL语句中,聚合函数在统计业务数据结果时起到了重要作用 ...

  3. vue3 甘特图(二):甘特图时间轴切换

    vue3 甘特图(二):gantt时间轴切换 1.固定时间轴缩放级别 gantt.config.scale_unit = "month"; //时间轴单位 gantt.config ...

  4. KRPano插件一键解密大师 支持最新版KRPano XML/JS解密 ,支持分析下载静态/动态网站资源

    KRPano插件一键解密大师,可以一键解密KRPano的XML/JS插件,并可以分析下载静态和动态网站的所有资源.软件下载安装即可使用,解密仅需鼠标一键点击即可,无需配置任何开发环境,方便全景开发人员 ...

  5. 设备维修保养通知:如何使用API接口发送通知给相关人员

    在设备维修保养管理中,及时通知相关人员是确保设备得到及时维护的关键.API接口提供了一个方便的方式来自动发送维修保养通知,以确保工作流程的顺利进行.本文将详细介绍如何使用成熟的API接口来发送设备维修 ...

  6. POWERBI_1分钟学会_连续上升或下降指标监控

    一:数据源 模拟数据为三款奶茶销量的日销售数据源,日期是23.8.24-23.8.31.A产品为连续7天,日环比下降,B产品为连续3天,日环比下降,C产品为连续2天,日环比下降. 二:建立基础度量值 ...

  7. open3d -- voxel_down_sample

    官网文档 parameter: Input: open3d.geometry.Pointcloud点云类 voxel_size: 体素单位长度 Return: 处理后的点云类 Description: ...

  8. 形象描绘TCP三次握手和四次挥手

    一.TCP三次握手TCP 三次握手就好比两个人在街上隔着50米看见了对方,但是因为雾霾等原因不能100%确认,所以要通过招手的方式相互确定对方是否认识自己.形象描绘TCP三次握手和四次挥手 张三首先向 ...

  9. es针对nested类型数据无法进行过滤查询的问题记录

    问题描述 es中存在有一个名为task_data_1的索引,其字段映射关系如下所示: { "task_data_1" : { "mappings" : { &q ...

  10. replace批量替换、表删除数据查询用法

    一. select * from baec_file where bacti='1'order by baec01; select baec02,REPLACE(baec02,'白班','A班') f ...