当前位置:首页 > 新闻动态 > 网站文章

头条/抖音小程序内容安全检测(违规词过滤)

来源: 浏览:126 时间:2023-08-04

头条/抖音小程序内容安全检测(违规词过滤)

文章目录

缘起

头条/抖音小程序在审核的时候都会要求待审核小程序有一项”关键词过滤”功能
要求对用户输入的内容进行检测
求问度娘无果,于是自己用SpringBoot+RestTemplate简单写了个demo
这个示例对于其他平台API请求依然适用
废话不多说,进正题

环境说明

不说明开发环境的都是耍流氓

首先交代下我开发使用的环境

在罗列环境前先强调一点:Spring 框架3.x下的RestTemplate可能会出现中文乱码问题,解决方案要么升级版本,要么问问度娘,这里就不再赘述

  • 操作系统: Win10 企业版 LTSC
  • JDK: 1.8.0_231
  • Maven: 3.3.9
  • IDEA: 2018.3.1
  • SpringBoot: 2.0.6.RELEASE

开始

要求如图

因为需要access_token,所以我们应当先请求生成一个access_token(这是OAuth2.0协议规范,如果不太明白的小伙伴可以移步OAuth2.0简介)

于是我们的请求步骤应该如下(因为是demo,没有考虑失败情况)

流程搞懂了我们就可以直接上代码了:

@Configuration
public class RestConfig { 
    @Bean
    public RestTemplate restTemplate(){ 
        return new RestTemplate();
    }
}
touTiao:
  	tokenUrl: https://developer.toutiao.com/api/apps/token?appid={ 1}&secret={ 2}&grant_type={ 3}
  	textUrl: https://developer.toutiao.com/api/v2/tags/text/antidirt
  	appId: { 你自己的appId}
  	secret: { 你自己的secret}
  	grantType: client_credential
@RestController
public class TestCtrl { 
    @Autowired
    RestTemplate restTemplate;
/*获取token地址*/
    @Value("${touTiao.tokenUrl}")
    private String TOKEN_URL;
    /*获取内容检查地址*/
    @Value("${touTiao.textUrl}")
    private String TEXT_URL;
    /*appid*/
    @Value("${touTiao.appId}")
    private String APP_ID;
    /*secret*/
    @Value("${touTiao.secret}")
    private String SECRET;
    /*授权范围*/
    @Value("${touTiao.grantType}")
    private String GRANT_TYPE;
@GetMapping(value = "/test/{text}")
    public String test(@PathVariable String text) { 
        /*请求token*/
        System.out.println("用户请求字段:" + text);
        String token = restTemplate.getForObject(TOKEN_URL, String.class, APP_ID, SECRET, GRANT_TYPE);
        token = (String) JSON.parseObject(token).get("access_token");
        /*请求内容检测*/
        /*设置请求头*/
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
        headers.set("X-Token",token);
        /*构建查询体*/
        String requestStr = "{
" +
                " "tasks": [
" +
                " {
" +
                " "content": "" +text+""
" +
                " }
" +
                " ]
" +
                "}";
        HttpEntity entity = new HttpEntity<>(requestStr, headers);
        String result = restTemplate.postForObject(TEXT_URL, entity, String.class);
        return result;
    }
}

说在最后

一定要严格按照各大平台API要求的格式去请求

还有这个demo我就不测试了,怪尴尬的,要测试的都是敏感词汇,测了估计你就看不到这篇博客了

只要最后结果里的prob为1代表的就是违规内容

–完–

地址 · ADDRESS

地址:建邺区新城科技园嘉陵江东街18号2层

邮箱:309474043@qq.Com

点击查看更多案例

联系 · CALL TEL

400-8793-956

售后专线:025-65016872

业务QQ:309474043    售后QQ:1850555641

©南京安优网络科技有限公司 版权所有   苏ICP备12071769号-4  网站地图