开发 能力接入指南 内容安全审核能力
# 内容安全审核能力
更新时间:2024-10-08 14:39:43
为维护小程序生态的内容安全,向用户提供良好的观看体验,平台以开放API的形式向开发者提供内容安全审核接口,协助开发者应对敏感内容识别问题,维护小程序运营秩序。
小程序内容安全审核分为文字检测和图片检测两部分,用于检查用户上传的文本或图片中是否含有违法违规内容。
# 1.接入规范
- 必须接入:壁纸类、ai类、娱乐测试类。凡上述小程序在快手小程序平台经营,但并未接入任何第三方图文质量(安全)检测能力的小程序,必须接入平台检测能力。否则一旦发现小程序内存在低俗、色情或严重违反公序良俗的内容,平台将直接封禁主体。
- 选择接入:知识付费类、实物交易类、工具查询类。凡上述小程序在快手小程序平台经营,但并未接入任何第三方图文检测能力,且开发者判定自身小程序存在图文风险的(如反动信息、色情有害信息等),需选择接入平台检测能力。否则将根据有害信息严重性,遵循平台违规定级与处罚标准 (opens new window)进行处理。
# 2.接入准备
您在接入平台内容安全检测能力中,需提前发送接入邮件申请至快手官方邮箱,邮件标题为“小程序名称“+”接入内容安全检测事项”,邮件内容需提供appid,注明来意,收到邮件回复后,方可正常接入。
如遇到任何问题,您也可以通过以下方式进行反馈。
- 发布反馈帖至【开发者社区 (opens new window)】
- 发送反馈邮件至【快手官方邮箱gh_xiaochengxu@kuaishou.com】
# 3.接入方式
# 1.获取access_token
请求地址
单体小程序获取access_token,该授权方式使用 OAuth2 的 client credentials 模式,即向开发者授权非用户资源。
POST https://open.kuaishou.com/oauth2/access_token
content-type: pplication/x-www-form-urlencoded
请求参数
参数 | 是否必须 | 类型 | 说明 |
app_id | 是 | string | 小程序id |
app_secret | 是 | string | 小程序申请时的密钥 |
grant_type | 是 | string | 固定值“client_credentials” |
返回结果
{
"result": 1,
"access_token": "xxxxxxx", // 用于获取隐私资源
"expires_in": 23435, // 过期时间(秒)
"token_type" : "bearer"
}
# 2.文本内容安全检测
检验一段文本是否包含违法违规内容。
# 接入方法
请求地址
POST https://open.kuaishou.com/openapi/mp/developer/security/text_detect
content-type: application/x-www-form-urlencoded
请求参数
值 | 类型 | 位置 | 含义 | 是否必须 |
access_token | string | 放到 query param, 即url后面 | 接口调用凭证 | 是 |
app_id | string | 放到 query param, 即url后面 | 小程序 appId | 是 |
content | string | 放到请求 body 中 | 待检测文本 长度不超过 2500 | 是 |
请求示例
curl --location 'https://open.kuaishou.com/openapi/mp/developer/security/text_detect?access_token=***&app_id=****' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'content=**'
返回示例
{
"result": 1, // 错误码
"error_msg": "success", // 错误提示信息
"data": {
"hit": true, // 文本是否为敏感文本 true为敏感文本
"details": [
{
"keyword": "13", // 命中的敏感关键词
"matchedText": "13213" // 命中的文本
}, {
"keyword": "24", // 命中的敏感关键词
"matchedText": "12466" // 命中的文本
}, ...
]
}
}
# 3.图片内容安全检测
异步校验图片中是否包含违法违规内容。
# 1.接入说明
快手小程序为开发者提供异步的图片安全检测能力,开发者可先通过图片检测任务提交接口提交图片检测,平台会在检测完毕后,快手小程序平台会通过 POST 方式回调开发者提供的 HTTP 接口,用于开发者做相应的业务逻辑,同时平台也提供图片检测结果查询接口,支持两天内的图片检测结果查询。
# 2.回调域名配置
开发者接入快手小程序图片安全检测需要提前在小程序平台配置内容安全回调域名(开发者平台-开发-内容安全回调域名),确保回调 url 的合法性。
# 3.任务提交接口
请求地址
POST https://open.kuaishou.com/openapi/mp/developer/security/image_detect
content-type: application/x-www-form-urlencoded
请求参数
值 | 类型 | 位置 | 含义 | 是否必须 |
access_token | string | 放到 query param, 即url后面 | 接口调用凭证 | 是 |
app_id | string | 放到 query param, 即url后面 | 小程序 appId | 是 |
image | string | 放到请求 body 中 | 待检测单张图片链接 检测的图片大小不超过 10MB 目前支持 png, jpg, jpeg, bmp, gif 格式 | 是 |
notify_url | string | 放到请求 body 中 | 图片审核结果回调 url 地址(尽量提供 https) | 是 |
请求示例
curl --location 'https://open.kuaishou.com/openapi/mp/developer/security/image_detect?app_id=***&access_token=***' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'image=****' \
--data-urlencode 'notify_url=***'
返回示例
{
"result": 1, // 错误码
"error_msg": "success", // 错误提示信息
"data" : {
"taskId" : "****" // 图片审核任务id
}
}
# 4.结果查询接口
请求地址
GET https://open.kuaishou.com/openapi/mp/developer/security/image_detect_result (opens new window)
请求参数
值 | 类型 | 位置 | 含义 | 是否必须 |
access_token | string | 放到 query param, 即url后面 | 接口调用凭证 | 是 |
app_id | string | 放到 query param, 即url后面 | 小程序 appId | 是 |
task_id | string | 放到 query param, 即url后面 | 图片审核任务 id image_detect 接口返回 | 是 |
请求示例
curl --location 'https://open.kuaishou.com/openapi/mp/developer/security/image_detect_result?task_id=***&app_id=***&access_token=***' \
返回示例
{
"result": 1, // 错误码
"error_msg": "success", // 错误提示信息
"data":{
"hit":true, // 图片是否为敏感图片 true 为敏感图片
"details":{
"leader": true, // 图片是否为领导人
"sexy": false, // 图片是否为色情
"knife_gun": false, // 图片是否为刀枪
"other": false // 图片是否包括所有违规类别
}
}
}
# 5.结果通知
平台会在检测完毕后,快手小程序平台会通过 POST 方式回调开发者通过图片检测任务提交接口提供的 HTTP 接口(notify_url 参数),用于开发者做相应的业务逻辑。
接口内容
回调请求的方式是 HTTP POST 请求,其中 request body 中的内容如下:
{
"data":{
"hit":true, // 图片是否为敏感图片
"task_id":"f7a78bf2-5481-401c-a7da-17b765635a34", // 图片检测任务id
"details":{
"leader": true, // 图片是否为领导人
"sexy": false, // 图片是否为色情
"knife_gun": false, // 图片是否为刀枪
"other": false // 图片是否包括所有违规类别
}
},
"message_id":"406c4c45-1afe-49fb-9507-8906264a3c9f",
"event":"IMAGE_DETECT",
"app_id":"ks669910447988005816",
"timestamp":1679486927565
}
其中各字段含义如下:
字段名 | 类型 | 说明 |
event | string | 消息类型:IMAGE_DETECT 表示图片检测结果 |
message_id | string | 唯一消息id,可用于做幂等处理 |
app_id | string | 小程序 appId |
timestamp | long | 消息发送毫秒时间戳 |
data.hit | boolean | 图片是否为敏感图片 true 为敏感图片 |
data.task_id | string | 图片检测任务id 对应图片检测任务提交接口返回的 taskId |
data.details.leader | boolean | 图片是否为领导人 |
data.details.sexy | boolean | 图片是否为色情 |
data.details.knife_gun | boolean | 图片是否为刀枪 |
data.details.other | boolean | 图片是否包括所有违规类别 |
接口签名
回调的内容使用小程序 secret key 进行签名,具体方式见官网文档-《附录2、回调方式和策略》 (opens new window)
开发者返回
开发者在接收到回调消息,并正确处理后,需要返回以下内容格式,以通知小程序平台不再持回调
{
"result" : 1, //必填。 1-成功,其他-失败。失败小程序平台会尝试重推此消息
"message_id" : "ChFvYXV0aC5hY2Nlc3NUb2tlbhJQvpR51x8In46B1sDB" //当前消息的message_id
}
如果开发者没有返回或者返回的result不等于1,则小程序平台会尝试重复推送此消息,开发者务必做好消息的幂等处理!
# 4.错误码信息
错误码 | 描述 | 场景举例 |
100200102 | 授权错误,请检查app_id和access_token是否正确 | 使用了不正确的access_token、access_token已过期 |
10000200 | 非法参数,请参考错误提示检查必填参数是否遗漏或参数格式是否正确 | 待检测文本过长 |
10000412 | 小程序不存在 | app_id 参数有误 |
10000202 | 图片类型不支持 | iamge 图片类型不为 png, jpg, jpeg, bmp, gif 格式 |
10000203 | 图片过大 | image 图片大小超过 10MB |
10000507 | 非法图片检测任务 id | task_id 参数有误 |
10000500 | 系统异常 | 服务器异常,需要快手开发人员介入解决 |