华为云 内容审核API调用 前端 js uni-app
文章目录前言一、华为云的内容审核api的调用需要哪些东西?二、使用步骤1.先注册一个华为云的账号2.申请内容审核服务3.[华为云内容审核API的官方文档](https://support.huaweicloud.com/api-moderation/moderation_03_0002.html)4.获取token 成功后,开始调用图片内容审核api总结前言用户的评论,或者什么图片上传,需要进行智
文章目录
前言
用户的评论,或者什么图片上传,需要进行智能审核,人工也可以就是太麻烦了
,本文介绍如何在前端js中调用华为云内容审核的api
一、华为云的内容审核api的调用需要哪些东西?
1.华为云的账号 2.华为云IAM的账号密码,用来获取token二、使用步骤
1.先注册一个华为云的账号
2.申请内容审核服务
在官网 搜索内容审核,点击立即使用,选择开通文本内容审核还是图片内容审核
3.华为云内容审核API的官方文档
从官方文档可以看出
(以内容审核中的图像审核为例)
①.请求地址:
https://moderation.cn-north-1.myhuaweicloud.com/v2/{project_id}/moderation/image
- moderation 表示内容审核模块
- cn-north-1 是表示哪个服务区
- /v2/{project_id}/moderation/image 这一段表示内容审核里面的API
上面请求地址中的的project_id是什么呢,如何获取呢
project_id 表示用户的project_id
获取:登陆华为云 -> 用户中心 -> 我的凭证 -> api凭证 即可查看对应区域的项目ID。
②.请求头
这里需要传用户token
获取用户token的API代码如下
因为我是用的uni-app写的,所以用的是uni.request请求方法,根据你本身代码修改
uni.request({
method: 'POST',//请求方式
url: 'https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens', //获取用户token的api
header: {
'Content-Type': 'application/json;charset=utf8' //必填固定内容
},
data: {
"auth": {//认证信息
"identity": {//认证参数
"methods": [//认证方法
"password" //密码输入
],
"password": {//IAM用户密码认证信息。
"user": {//需要获取Token的IAM用户信息
"name": Config.userName, //IAM用户名
"password": Config.password, //IAM用户的登录密码。
"domain": {//IAM用户所属帐号信息。
"name": Config.domainName //IAM用户所属帐号名称
},
}
}
},
"scope": {//Token的使用范围,取值为project或domain,二选一即可。
//取值为project时,表示获取的Token可以作用于项目级服务,仅能访问指定project下的资源
"project": {
"id":id,//IAM用户所属帐号的项目ID
"name": name //IAM用户所属帐号的项目名称
}
//取值为domain时,表示获取的Token可以作用于全局服务,全局服务不区分项目或区域
//"domain": {
//"id":Config.domainID //IAM用户所属帐号ID
//"name": Config.domainName //IAM用户所属帐号名
//}
}
}
},
success: (res) => {
//成功后获取到X-Subject-Token 注意这个是在请求头里面
uni.setStorageSync('hwytoken', res.header['X-Subject-Token']);
},
})
4.获取token 成功后,开始调用图片内容审核api
代码如下
const imgModeration = function(url, success) {
return new Promise((resolve, reject) => {
uni.request({
method: 'POST',
//Config.EndPoint 地址前缀 https://moderation.cn-north-1.myhuaweicloud.com
//Config.projectId 如上文3小点中的 ①
url: Config.EndPoint + '/v2/' + Config.projectId + '/moderation/image',
header: {
'X-Auth-Token': uni.getStorageSync('hwytoken'),
},
data: {
"categories": [
"politics",
"terrorism",
"porn",
"ad",
],
"moderation_rule": "default",
"url": "",
"image": url,
"threshold": ""
},
success: (res) => {
resolve(res);
},
fail: (err) => {
reject(err);
},
})
})
}
参数说明
- categories
检测场景:
politics:是否涉及政治人物的检测。
terrorism:是否包含涉政暴恐元素的检测。
porn:是否包含涉黄内容元素的检测。
ad:是否包含广告图文的检测。
all:包含politics、terrorism和porn三种场景的检测。
可通过配置上述场景,来完对应场景元素的检测。
为空或无此参数表示politics和terrorism都检测,但不包含porn场景。 - moderation_rule
图像审核规则名称,默认使用default规则。 - url
图片的URL路径,目前支持:
公网HTTP/HTTPS URL
华为云OBS提供的URL,使用OBS数据需要进行授权。 - image
图片文件Base64编码字符串。要求base64编码后大小不超过10M。
政治人物检测人脸部分不小于50*50像素。
支持JPG/PNG/BMP格式。
注 image和url二选一即可
返回结果(我已经懒得写了。。。这里放上截图,还有文档连接吧)
总结
一开始以为很难,发现其实挺简单的,如果使用image上传图片需要把图片转成Base64格式,图片转Base64格式我将会在下篇文章分享(还没写的,写完我在回来放连接)
更多推荐
所有评论(0)