简介
本文档提供关于文本审核的 API 概览和 SDK 示例代码。
注意
API | 操作描述 |
用于提交一个文本审核任务 | |
用于查询指定的文本审核任务 |
提交文本审核任务
功能说明
用于提交一个文本审核任务。
方法原型
public Guzzle\\Service\\Resource\\Model detectText(array $args = array());
请求示例
示例一:文本内容审核
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', // 审核时必须为https'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$content = '敏感词';$result = $cosClient->detectText(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Input' => array('Content' => base64_encode($content), // 文本需base64_encode// 'DataId' => '', // 选填 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。),// 'Conf' => array(// 'BizType' => '',// ), // 非必选,在BizType不传的情况下,走默认策略及默认审核场景。));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
示例二:存储桶文本文件审核
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', // 审核时必须为https'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->detectText(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Input' => array('Object' => 'test01.txt'// 'DataId' => '', // 选填 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。),// 'Conf' => array(// 'BizType' => '',// 'Callback' => '', // 回调URL 选填// 'CallbackVersion' => 'Detail', // 选填 Detail、Simple 默认为 Simple// 'Freeze' => array(// 'PornScore' => 90,// 'AdsScore' => 90,// 'IllegalScore' => 90,// 'AbuseScore' => 90,// 'PoliticsScore' => 90,// 'TerrorismScore' => 90,// ), // 可通过该字段,设置根据审核结果给出的不同分值,对文本文件进行自动冻结,仅当 input 中审核的文本为 object 时有效。// ), // 非必选,在BizType不传的情况下,走默认策略及默认审核场景。));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
示例三: 文本文件URL审核
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', // 审核时必须为https'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->detectText(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Input' => array('Url' => 'http://example.com/test.txt'// 'DataId' => '', // 选填 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。),// 'Conf' => array(// 'BizType' => '',// 'Callback' => '', // 选填 回调URL// 'CallbackVersion' => 'Detail', // 选填 Detail、Simple 默认为 Simple// ), // 非必选,在BizType不传的情况下,走默认策略及默认审核场景。));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Input | Request | 需要审核的内容。 | Container | 是 |
Conf | Request | 审核规则配置。 | Container | 是 |
Container 类型 Input 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Object | Request.Input | 当前 COS 存储桶中的文本文件名称,例如在目录 test 中的文件 test.txt,则文件名称为 test/test.txt,文本文件仅支持 UTF8 编码和 GBK 编码的内容,且文件大小不得超过1MB。 | String | 否 |
Url | Request.Input | 文本文件的完整链接,例如: https://www.test.com/test.txt 。 | String | 否 |
DataId | Request.Input | 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。 | String | 否 |
UserInfo | Request.Input | 用户业务字段。 | Container | 否 |
Container 节点 UserInfo 的内容:
节点名称(关键字) | 描述 | 类型 | 是否必选 |
TokenId | 一般用于表示账号信息,长度不超过128字节。 | String | 否 |
Nickname | 一般用于表示昵称信息,长度不超过128字节。 | String | 否 |
DeviceId | 一般用于表示设备信息,长度不超过128字节。 | String | 否 |
AppId | 一般用于表示 App 的唯一标识,长度不超过128字节。 | String | 否 |
Room | 一般用于表示房间号信息,长度不超过128字节。 | String | 否 |
IP | 一般用于表示 IP 地址信息,长度不超过128字节。 | String | 否 |
Type | 一般用于表示业务类型,长度不超过128字节。 | String | 否 |
ReceiveTokenId | 一般用于表示接收消息的用户账号,长度不超过128字节。 | String | 否 |
Gender | 一般用于表示性别信息,长度不超过128字节。 | String | 否 |
Level | 一般用于表示等级信息,长度不超过128字节。 | String | 否 |
Role | 一般用于表示角色信息,长度不超过128字节。 | String | 否 |
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
BizType | Request.Conf | 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如色情、广告、违法等,配置指引: 设置公共审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。BizType 不填写时,将自动使用默认的审核策略。 | String | 否 |
Callback | Request.Conf | 审核结果可以回调形式发送至您的回调地址,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com 。当 Input 使用 Content 时,该参数不生效,结果会直接返回。 | String | 否 |
CallbackVersion | Request.Conf | 回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。 | String | 否 |
CallbackType | Request.Conf | 回调片段类型,有效值:1(回调全部文本片段)、2(回调违规文本片段)。默认为 1。 | Integer | 否 |
Freeze | Request.Conf | 可通过该字段,设置根据审核结果给出的不同分值,对文本文件进行自动冻结,仅当 input 中审核的文本为 object 时有效。 | Container | 否 |
Container 类型 Freeze 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
PornScore | Request.Conf.Freeze | 取值为[0,100],表示当色情审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。 | Integer | 否 |
AdsScore | Request.Conf.Freeze | 取值为[0,100],表示当广告审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。 | Integer | 否 |
IllegalScore | Request.Conf.Freeze | 取值为[0,100],表示当违法审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。 | Integer | 否 |
AbuseScore | Request.Conf.Freeze | 取值为[0,100],表示当谩骂审核结果大于或等于该分数时,自动进行冻结操作。不填写则表示不自动冻结,默认值为空。 | Integer | 否 |
返回结果示例
示例一:文本内容审核
//当选择 Content 时,审核结果为同步返回,可通过 响应体 查看返回结果。GuzzleHttp\\Command\\Result Object([RequestId] => NjEzYjUxMDhfZmNjYTNiMGFfNGM2NF8zNWY4Njg=[ContentType] => application/xml[ContentLength] => 878[JobsDetail] => Array([Code] => Success[Message] => Array()[JobId] => st8ffc0551123311eca33f525400f3e40d[State] => Success[CreationTime] => 2021-09-10T20:35:20+08:00[Content] => 5pWP5oSf6K+N[Result] => 0[SectionCount] => 1[PornInfo] => Array([HitFlag] => 0[Count] => 0)[AdsInfo] => Array([HitFlag] => 0[Count] => 0)[IllegalInfo] => Array([HitFlag] => 0[Count] => 0)[AbuseInfo] => Array([HitFlag] => 0[Count] => 0)[Section] => Array([0] => Array()))[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/text/auditing)
示例二:存储桶文本文件审核
//当选择 Object 时,审核结果为异步返回,可通过 查询文本审核任务接口获取返回结果。GuzzleHttp\\Command\\Result Object([RequestId] => NjEzYjUxY2VfZmNjYTNiMGFfNGM0MF8zNTE0OWI=[ContentType] => application/xml[ContentLength] => 324[JobsDetail] => Array([Object] => exampleobject[JobId] => st05c02c3c123411ec953452540024deb5[State] => Submitted[CreationTime] => 2021-09-10T20:38:38+08:00)[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/text/auditing)
示例三:文本文件URL审核
//当选择 url 时,审核结果为异步返回,可通过 查询文本审核任务接口获取返回结果。GuzzleHttp\\Command\\Result Object([RequestId] => NjEzYjUxY2VfZmNjYTNiMGFfNGM0MF8zNTE0OWI=[ContentType] => application/xml[ContentLength] => 324[JobsDetail] => Array([JobId] => st05c02c3c123411ec953452540024deb5[State] => Submitted[CreationTime] => 2021-09-10T20:38:38+08:00)[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/text/auditing)
查询文本审核任务
功能说明
用于查询文本审核任务执行情况和结果。
方法原型
public Guzzle\\Service\\Resource\\Model getDetectTextResult(array $args = array());
请求示例
<?phprequire dirname(__FILE__) . '/../vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'scheme' => 'https', // 审核时必须为https'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->getDetectTextResult(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Key' => 'examplejobid', // JobId));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
参数名称 | 类型 | 描述 | 是否必填 |
Bucket | String | 存储桶名称,格式:BucketName-APPID | 是 |
Key | String | 需要查询的任务 ID | 是 |
返回结果示例
GuzzleHttp\\Command\\Result Object([RequestId] => NjEzYjU0NDhfNzgwYzdkNjRfMThiOV8zNjQ0Y2Q=[ContentType] => application/xml[ContentLength] => 725[JobsDetail] => Array([Code] => Success[Message] =>[JobId] => st7a813188123511ecb6485254009f6100[State] => Success[CreationTime] => 2021-09-10T20:49:03+08:00[Object] => exampleobject[SectionCount] => 1[Result] => 0[PornInfo] => Array([HitFlag] => 0[Count] => 0)[AdsInfo] => Array([HitFlag] => 0[Count] => 0)[Section] => Array([0] => Array()))[Key] => st7a813188123511ecb6485254009f6100[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/text/auditing/st7a813188123511ecb6485254009f6100)