有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。
说明
使用内容审核服务需拥有数据万象使用权限:
主账号请 单击此处 进行角色授权。
子账号请参见 授权子账号接入数据万象服务 文档。
本文档提供关于文本审核的 API 概览和 SDK 示例代码。
API
操作描述
用于提交一个文本审核任务
用于查询指定的文本审核任务

提交文本审核任务

功能说明

用于提交一个文本审核任务。

方法原型

CosResult CosAPI::CreateTextAuditingJob(const CreateTextAuditingJobReq& req, CreateTextAuditingJobResp* resp);

请求示例

qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";

CreateTextAuditingJobReq req(bucket_name);
CreateTextAuditingJobResp resp;

// 添加请求参数 参数详情请见 API 接口文档
// Content 、Url 和 Object 不同时生效
// 当使用 Content 时为审核结果同步返回
// 使用 Object 或 Url 时为审核结果异步返回
req.SetContent(CodecUtil::Base64Encode("content"));
// req.SetObject(test.txt);
req.SetBizType("b81d45f94b91a683255e9a9506f45a11");

// 调用接口,获取任务响应对象
CosResult result = cos.CreateTextAuditingJob(req, &resp);
if (result.IsSucc()) {
// 创建审核任务成功,可以调用 CreateTextAuditingJobResp 的成员函数
} else {
// 创建审核任务失败,可以调用 CosResult 的成员函数输出错误信息
}

参数说明

参数
参数描述
类型
是否必填
req
CreateTextAuditing 操作的请求
CreateTextAuditingJobReq
resp
CreateTextAuditing 操作的响应
CreateTextAuditingJobResp
CreateTextAuditingJobReq 提供以下成员函数:
// 设置执行操作的 bucket
void SetBucketName(const std::string& bucket_name);
// 设置 input 需要审核的视频
void SetInput(const AuditingInput& input);
// 设置审核配置规则
void SetConf(const Conf& conf);

// conf
// 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置公共审核策略。
// 您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。
void SetBizType(const std::string& biz_type);
// 回调地址,以 http://或者https://开头的地址。
void SetCallBack(const std::string& callback);
// 回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。
void SetCallBackVersion(const std::string& callback_version);


// input
// 当前 COS 存储桶中的文本文件名称,例如在目录 test 中的文件 test.txt,则文件名称为 test/test.txt,文本文件仅支持 UTF8 编码和 GBK 编码的内容,且文件大小不得超过1MB。
// 当使用 Object 时审核结果异步,需要使用查询文本审核任务接口查询
void SetObject(const std::string& object);
// 文本文件的完整链接,例如:https://www.test.com/test.txt。
// 当使用 Url 时审核结果异步,需要使用查询文本审核任务接口查询
void SetUrl(const std::string& url);
// 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。
void SetDataId(const std::string& data_id);
// 用户业务字段。
void SetUserInfo(const UserInfo& user_info);
// 当传入的内容为纯文本信息,需要先经过 base64 编码,文本编码前的原文长度不能超过10000个 UTF8 编码字符。若超出长度限制,接口将会报错。
// 当使用 Content 时审核结果同步返回
void SetContent(const std::string& content) { m_input.SetContent(content); }

CreateTextAuditingJobResp 提供的成员函数如下:
// 获取API请求执行返回的任务详情
TextAuditingJobsDetail GetJobsDetail();
// 获取API请求的透传ID
std::string GetRequestId();


返回结果说明

成功:解析 API 返回的 XML 内容中的审核任务结果到 TextAuditingJobsDetail 结构中,具体返回参数可查看 提交文本审核任务 文档。
失败:发生错误(例如 Bucket 不存在),错误信息则解析在 CosResult 结构体中。详情请参见 异常处理

查询文本审核任务结果

功能说明

用于查询文本审核任务执行情况和结果。

方法原型

CosResult DescribeTextAuditingJob(const DescribeTextAuditingJobReq& req, DescribeTextAuditingJobResp* resp);

请求示例

qcloud_cos::CosConfig config("./config.json");
qcloud_cos::CosAPI cos(config);
std::string bucket_name = "examplebucket-1250000000";

DescribeTextAuditingJobReq req(bucket_name);
DescribeTextAuditingJobResp resp;

// 添加请求参数 参数详情请见 API 接口文档
req.SetJobId("aab1ca9fc8a3ed11ea834c525400863904");

// 调用接口,获取任务响应对象
CosResult result = cos.DescribeTextAuditingJob(req, &resp);
if (result.IsSucc()) {
// 查询审核任务成功,可以调用 DescribeTextAuditingJobResp 的成员函数
} else {
// 查询审核任务失败,可以调用 CosResult 的成员函数输出错误信息
}

参数说明

参数
参数描述
类型
是否必填
req
DescribeTextAuditingJob 操作的请求
DescribeTextAuditingJobReq
resp
DescribeTextAuditingJob 操作的响应
DescribeTextAuditingJobResp
DescribeTextAuditingJobReq 提供以下成员函数:
// 设置执行操作的 bucket
void SetBucketName(const std::string& bucket_name);
// 设置查询的审核任务ID
void SetJobId(const std::string& job_id);
DescribeTextAuditingJobResp 提供的成员函数如下:
// 获取 API 请求执行返回的任务详情
TextAuditingJobsDetail GetJobsDetail();
// 获取 API 请求的透传 ID
std::string GetRequestId();


返回结果说明

成功:解析 API 返回的 XML 内容中的审核任务结果到 TextAuditingJobsDetail 结构中,具体返回参数可查看 查询文本审核任务结果 文档。
失败:发生错误(例如 Bucket 不存在),错误信息则解析在 CosResult 结构体中。详情请参见 异常处理