
头条/抖音小程序内容安全检测(违规词过滤)
来源:
浏览: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代表的就是违规内容
–完–


