当前位置

调用腾讯提供的微信小程序接口来进行敏感词和敏感图片检查

James Qi 在 2020年3月29日 - 18:02 提交

  在国内做网站有个绕不过去的问题:敏感内容审查。我们在互联网行业做了二十年,各种坑都踩过,喝茶也是无可避免。去年6月份因为部分词典网站上发现敏感词,进行了整改,当时人工检查了很多内容,也用网上找到的关键词库来编程排除,后来还让“部分繁体词典网站屏蔽来自中国大陆的IP访问”。

  今年3月1日《网络信息内容生态治理规定》生效,网友笑说“有个好消息:以后网上没有坏消息了”。对我们互联网从业人员来没有选择,只能遵照执行了。前两个星期接到腾讯的通知,我们一个词典微信小程序因为留言风险而被无限期禁止搜索功能了,也就是没有新用户能通过搜索发现我们这个小程序了,只能以前的老用户使用或者分享推荐。看来疫情一点没有影响相关部门的工作,有些管控力度还在加强。

  我们同事在网上找了很多办法去排查问题,发现腾讯的微信小程序现在新提供(具体什么时候开始提供的不清楚)了违法违规内容检查的API接口,这倒是一个不错的检查办法,比我们自己去网上搜索找到的敏感词库靠谱、有人维护,于是我们把这个融入了我们小程序的留言检查中,并且还用来批量检查我们已有的网站内容。

  接口说明文档在这里:

  内容安全

  我们主要用到文本安全检查,也就是检查一段文本是否含有违法违规内容。

  应用场景举例:

  • 用户个人资料违规文字检测;
  • 媒体新闻类用户发表文章,评论内容检测;
  • 游戏类用户编辑上传的素材(如答题类小游戏用户上传的问题及答案)检测等。

 

  频率限制:单个 appId 调用上限为 4000 次/分钟,2,000,000 次/天* *,对一般网站、小程序来说足够了。

  服务市场:**通过服务市场使用可以有更多的能力,文档详情

  调用方式:

  • HTTPS 调用
  • 云调用
  • 增量调用(加强版)

  具体程序请参考以上文档。

  下面是在另外文档中找到的“微信第三方公众开发平台/官方公众号错误代码返回值解决方法说明”:

返回码 错误码描述 说明
40001 invalid credential 不合法的调用凭证
40002 invalid grant_type 不合法的grant_type
40003 invalid openid 不合法的OpenID
40004 invalid media type 不合法的媒体文件类型
40007 invalid media_id 不合法的media_id
40008 invalid message type 不合法的message_type
40009 invalid image size 不合法的图片大小
40010 invalid voice size 不合法的语音大小
40011 invalid video size 不合法的视频大小
40012 invalid thumb size 不合法的缩略图大小
40013 invalid appid 不合法的AppID
40014 invalid access_token 不合法的access_token
40015 invalid menu type 不合法的菜单类型
40016 invalid button size 不合法的菜单按钮个数
40017 invalid button type 不合法的按钮类型
40018 invalid button name size 不合法的按钮名称长度
40019 invalid button key size 不合法的按钮KEY长度
40020 invalid button url size 不合法的url长度
40023 invalid sub button size 不合法的子菜单按钮个数
40024 invalid sub button type 不合法的子菜单类型
40025 invalid sub button name size 不合法的子菜单按钮名称长度
40026 invalid sub button key size 不合法的子菜单按钮KEY长度
40027 invalid sub button url size 不合法的子菜单按钮url长度
40029 invalid code 不合法或已过期的code
40030 invalid refresh_token 不合法的refresh_token
40036 invalid template_id size 不合法的template_id长度
40037 invalid template_id 不合法的template_id
40039 invalid url size 不合法的url长度
40048 invalid url domain 不合法的url域名
40054 invalid sub button url domain 不合法的子菜单按钮url域名
40055 invalid button url domain 不合法的菜单按钮url域名
40066 invalid url 不合法的url
41001 access_token missing 缺失access_token参数
41002 appid missing 缺失appid参数
41003 refresh_token missing 缺失refresh_token参数
41004 appsecret missing 缺失secret参数
41005 media data missing 缺失二进制媒体文件
41006 media_id missing 缺失media_id参数
41007 sub_menu data missing 缺失子菜单数据
41008 missing code 缺失code参数
41009 missing openid 缺失openid参数
41010 missing url 缺失url参数
42001 access_token expired access_token超时
42002 refresh_token expired refresh_token超时
42003 code expired code超时
43001 require GET method 需要使用GET方法请求
43002 require POST method 需要使用POST方法请求
43003 require https 需要使用HTTPS
43004 require subscribe 需要订阅关系
44001 empty media data 空白的二进制数据
44002 empty post data 空白的POST数据
44003 empty news data 空白的news数据
44004 empty content 空白的内容
44005 empty list size 空白的列表
45001 media size out of limit 二进制文件超过限制
45002 content size out of limit content参数超过限制
45003 title size out of limit title参数超过限制
45004 description size out of limit description参数超过限制
45005 url size out of limit url参数长度超过限制
45006 picurl size out of limit picurl参数超过限制
45007 playtime out of limit 播放时间超过限制(语音为60s最大)
45008 article size out of limit article参数超过限制
45009 api freq out of limit 接口调动频率超过限制
45010 create menu limit 建立菜单被限制
45011 api limit 频率限制
45012 template size out of limit 模板大小超过限制
45016 can't modify sys group 不能修改默认组
45017 can't set group name too long sys group 修改组名过长
45018 too many group now, no need to add new 组数量过多
50001 api unauthorized 接口未授权

  我们的程序就是做一个循环读取数据库内容或者网页内容,来逐一调用安全检查API,将返回错误代码87014,包含违禁词的记录下来,再人工来核查,对于误判的就忽略,对于真有问题的就删除。

  需要说明的是,无论是哪里的敏感词库,误判无可避免,例如《成语词典》中找到古人写的唐诗宋词元曲或者现代人对古文的解释,也有一些敏感词,例如“皇帝亲自”这个,属于明显的误判。

评论

添加新评论

Plain text

  • 不允许使用HTML标签。
  • 自动将网址与电子邮件地址转变为链接。
  • 自动断行和分段。