获取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. QLabel标签快捷键的使用

    1 from PyQt5.QtWidgets import * 2 import sys 3 4 class QlabelDemo(QDialog): 5 def __init__(self): 6 ...

  2. HTTPS 是这样握手的

    HTTP协议默认是明文传输,存在一定的安全隐患,容易被中间人窃听和攻击,在 加密解决HTTP协议带来的安全问题 中提到使用哈希.对称加密.非对称加密等方式对数据加密,能解决数据安全的问题. 以上加密方 ...

  3. [git]记配置本地git到gitlab并推送

    前言 gitlab仓库地址:git@192.168.0.12:godev/gohello.git 步骤 # 配置用户 git config --global user.name "zhang ...

  4. Apache solr XML 实体注入漏洞(CVE-2017-12629)

    描述: Apache Solr 是一个开源的搜索服务器.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.原理大致是文档通过Http利用XML加到一个搜索集 ...

  5. 2023-08-10:景区里有m个项目,也就是项目数组为int[][] game,这是一个m*2的二维数组 景区的第i个项目有如下两个参数: game[i] = { Ki, Bi } Ki一定是负数,

    2023-08-10:景区里有m个项目,也就是项目数组为int[][] game,这是一个m*2的二维数组 景区的第i个项目有如下两个参数: game[i] = { Ki, Bi } Ki一定是负数, ...

  6. AVR汇编(七):位操作和MCU控制指令

    AVR汇编(七):位操作和MCU控制指令 位操作指令 SBI / CBI SBI 指令用于设置I/O寄存器中的第 b 位, CBI 指令用于清除I/O寄存器中的第 b 位. 例如: SBI DDRB, ...

  7. 当小白遇到FullGC

    起初没有人在意这场GC,直到它影响到了每一天! 前言 本文记录了一次排查FullGC导致的TP99过高过程,介绍了一些排查时思路,线索以及工具的使用,希望能够帮助一些新手在排查问题没有很好的思路时,提 ...

  8. 形象谈JVM-第四章-JVM内存结构

    给我一个CPU,给我一块内存,我来执行一段代码. 我要如何分配呢? new User(); 这里有一个有一个User类,如果我要new出来User对象,必须先知道它长什么样子,我先搞一块区域出来,把U ...

  9. 系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理

    虚拟内存 虚拟内存是一种操作系统提供的机制,用于将每个进程分配的独立的虚拟地址空间映射到实际的物理内存地址空间上.通过使用虚拟内存,操作系统可以有效地解决多个应用程序直接操作物理内存可能引发的冲突问题 ...

  10. 一个.NET 7 + DDD + CQRS +React+Vite的实战项目

    项目简介 基于SignalR实现聊天通信,支持横向扩展,可支撑上万用户同时在线聊天 后端架构 后端技术栈采用 .NET 7 PostgreSQL (业务数据库) Redis(用于存放热点数据,和支持S ...