微布开发-微信三方接口文本校验校验开发思路
根据文档要求总结分为以下的情况:
- 文本内容正常 (suggest: “pass”, label: 100):
- 情况处理:如果文本内容被判定为正常,可以允许发布该文本内容。
- 文本内容命中关键词,但不违规 (suggest: “pass”, label: 20006):
- 情况处理:如果文本内容命中自定义关键词但不违规,可以允许发布该文本内容,同时可能根据需要记录命中的关键词和概率信息。
- 文本内容建议审核 (suggest: “review”):
- 情况处理:如果文本内容被建议进行审核,您可以将该内容设置为待审核状态,让人工审核来决定是否发布该内容。
- 文本内容命中违规标签 (suggest: “risky”):
- 情况处理:如果文本内容被判定为违规,应禁止发布该内容,并通知用户违规原因。
- 文本内容属于广告 (label: 10001):
- 情况处理:如果文本内容被判定为广告,应禁止发布该内容,并通知用户不允许发布广告内容。
- 文本内容属于色情、辱骂、违法犯罪等 (label: 20002, 20003, 20006等):
- 情况处理:如果文本内容被判定为色情、辱骂、违法犯罪等,应禁止发布该内容,并根据需要采取进一步的处理措施,比如记录日志或进行用户封禁等。
开发思路如下:
- 从Redis中获取到AccessToken
- 查库获取发布者微信的openid
- 调用https://api.weixin.qq.com/wxa/msg_sec_check?access_token=接口,校验返回参数
- errocode == 0
- 获取result对象的suggest参数值并进行比较
- 如果文本内容建议审核,则根据实际需求执行人工审核流程,”review”.equals(suggest)
- 如果文本内容正常或命中关键词但不违规,允许发布,”pass”.equals(suggest)
- 如果文本内容被判定为违规,禁止发布,并输出违规信息,”risky”.equals(suggest)
- 此时可以遍历detail数组,并获取对应的prob如果其中有敏感词汇prob>50就不准发布。
- 获取result对象的suggest参数值并进行比较
- errocode == 0
大致代码逻辑如下:
1 | private static void handleResult(String result) { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 HUT菜鸟小八的博客!
评论