# security.msgSecCheck
本接口应在服务器端调用,详细说明参见服务端 API。
本接口支持云调用。需开发者工具版本 >=
1.02.1904090
(最新稳定版下载),wx-server-sdk
>=0.4.0
检查一段文本是否含有违法违规内容。
1.0 版本接口文档【点击查看】,1.0 版本在 2021 年 9 月 1 日停止更新,请尽快更新至 2.0
应用场景举例:
- 用户个人资料违规文字检测;
- 媒体新闻类用户发表文章,评论内容检测;
- 游戏类用户编辑上传的素材(如答题类小游戏用户上传的问题及答案)检测等。 *频率限制:单个 appId 调用上限为 4000 次/分钟,2,000,000 次/天**
调用方式:
# HTTPS 调用
# 请求地址
POST https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN
# 请求参数 - Query
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token / cloudbase_access_token | string | 是 | 接口调用凭证 |
# 请求参数 - Body
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
version | number | 是 | 接口版本号,2.0 版本为固定值 2 | |
openid | string | 是 | 用户的 openid(用户需在近两小时访问过小程序) | |
scene | number | 是 | 场景枚举值(1 资料;2 评论;3 论坛;4 社交日志) | |
content | string | 是 | 需检测的文本内容,文本字数的上限为 2500 字,需使用 UTF-8 编码 | |
nickname | string | 否 | 用户昵称,需使用 UTF-8 编码 | |
title | string | 否 | 文本标题,需使用 UTF-8 编码 | |
signature | string | 否 | 个性签名,该参数仅在资料类场景有效(scene=1),需使用 UTF-8 编码 |
# 返回值
# Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
trace_id | string | 唯一请求标识,标记单次请求 |
result | object | 综合结果 |
detail | array | 详细检测结果 |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 成功 | |
-1 | 系统繁忙,此时请开发者稍候再试 | |
40001 | token 无效 | |
40003 | openid 无效 | |
40129 | 场景值错误(目前支持场景 1 资料;2 评论;3 论坛;4 社交日志) | |
43104 | appid 与 openid 不匹配 | |
43302 | 方法调用错误,请用 post 方法调用 | |
44002 | 传递的参数为空 | |
47001 | 传递的参数格式不对 | |
61010 | 用户访问记录超时(用户未在近两小时访问小程序) | |
其他 | 系统错误 |
errmsg 的合法值
值 | 说明 | 最低版本 |
---|---|---|
"ok" | 请求正常 | |
"其他提示" | 错误信息 |
result 综合了多个策略的结果给出了建议,包含的属性有
属性 | 类型 | 说明 |
---|---|---|
suggest | string | 建议,有 risky、pass、review 三种值 |
label | string | 命中标签枚举值,100 正常;10001 广告;20001 时政;20002 色情;20003 辱骂;20006 违法犯罪;20008 欺诈;20012 低俗;20013 版权;21000 其他 |
detail 包含多个策略类型的检测结果,策略类型的检查结果可能存在的属性如下
属性 | 类型 | 说明 |
---|---|---|
strategy | string | 策略类型 |
errcode | number | 错误码,仅当该值为 0 时,该项结果有效 |
suggest | string | 建议,有 risky、pass、review 三种值 |
label | number | 命中标签枚举值,100 正常;10001 广告;20001 时政;20002 色情;20003 辱骂;20006 违法犯罪;20008 欺诈;20012 低俗;20013 版权;21000 其他 |
prob | number | 0-100,代表置信度,越高代表越有可能属于当前返回的标签(label) |
keyword | string | 命中的自定义关键词 |
# 调用示例
{
"openid": "OPENID",
"scene": 1,
"version": 2,
"content": "hello world!"
}
# 请求结果示例
{
"errcode": 0,
"errmsg": "ok",
"result": {
"suggest": "risky",
"label": 20001
},
"detail": [
{
"strategy": "content_model",
"errcode": 0,
"suggest": "risky",
"label": 20006,
"prob": 90
},
{
"strategy": "keyword",
"errcode": 0,
"suggest": "pass",
"label": 20006,
"level": 20,
"keyword": "命中的关键词1"
},
{
"strategy": "keyword",
"errcode": 0,
"suggest": "risky",
"label": 20006,
"level": 90,
"keyword": "命中的关键词2"
}
],
"trace_id": "60ae120f-371d5872-7941a05b"
}
调用过程中如遇到问题,可在官方社区发帖交流。
# 云调用
云调用是微信云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过
wx-server-sdk
使用。
# 接口方法
openapi.security.msgSecCheck;
需在
config.json
中配置security.msgSecCheck
API 的权限,详情
# 请求参数
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
version | number | 是 | 接口版本号,2.0 版本为固定值 2 | |
openid | string | 是 | 用户的 openid(用户需在近两小时访问过小程序) | |
scene | number | 是 | 场景枚举值(1 资料;2 评论;3 论坛;4 社交日志) | |
content | string | 是 | 需检测的文本内容,文本字数的上限为 2500 字,需使用 UTF-8 编码 | |
nickname | string | 否 | 用户昵称,需使用 UTF-8 编码 | |
title | string | 否 | 文本标题,需使用 UTF-8 编码 | |
signature | string | 否 | 个性签名,该参数仅在资料类场景有效(scene=1),需使用 UTF-8 编码 |
# 返回值
# Object
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
traceId | string | 唯一请求标识,标记单次请求 |
result | object | 综合结果 |
detail | array | 详细检测结果 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 成功 |
# 异常
# Object
抛出的异常
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
-1 | 系统繁忙,此时请开发者稍候再试 | |
40001 | token 无效 | |
40003 | openid 无效 | |
40129 | 场景值错误(目前支持场景 1 资料;2 评论;3 论坛;4 社交日志) | |
43104 | appid 与 openid 不匹配 | |
43302 | 方法调用错误,请用 post 方法调用 | |
44002 | 传递的参数为空 | |
47001 | 传递的参数格式不对 | |
61010 | 用户访问记录超时(用户未在近两小时访问小程序) | |
其他 | 系统错误 |
errMsg 的合法值
值 | 说明 | 最低版本 |
---|---|---|
"ok" | 请求正常 | |
"其他提示" | 错误信息 |
# 调用示例
const cloud = require('wx-server-sdk');
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
});
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.security.msgSecCheck({
openid: 'OPENID',
scene: 1,
version: 2,
content: 'hello world!',
});
return result;
} catch (err) {
return err;
}
};
# 请求结果示例
{
"errcode": 0,
"errmsg": "ok",
"result": {
"suggest": "risky",
"label": 20001
},
"detail": [
{
"strategy": "content_model",
"errcode": 0,
"suggest": "risky",
"label": 20006,
"prob": 90
},
{
"strategy": "keyword",
"errcode": 0,
"suggest": "pass",
"label": 20006,
"level": 20,
"keyword": "命中的关键词1"
},
{
"strategy": "keyword",
"errcode": 0,
"suggest": "risky",
"label": 20006,
"level": 90,
"keyword": "命中的关键词2"
}
],
"trace_id": "60ae120f-371d5872-7941a05b"
}