帮你快速理解、总结文档立即下载

文本审核

最近更新时间:2025-06-09 17:44:53
我的收藏

简介

本文档提供关于文本审核的 API 概览和 SDK 示例代码。
注意:
需要 COS PHP SDK v2.4.4 及以上版本。旧版本可能存在 bug,使用时建议升级到 最新版本。
API
操作描述
用于提交一个文本审核任务
用于查询指定的文本审核任务

提交文本审核任务

功能说明

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

方法原型

public Guzzle\\Service\\Resource\\Model detectText(array $args = array());

请求示例

示例一:文本内容审核

<?php

require 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,
'schema' => '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);
}

示例二:存储桶文本文件审核

<?php

require 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,
'schema' => '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审核

<?php

require 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,
'schema' => '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
否

返回结果示例

响应参数具体含义参考 文本审核API文档。

示例一:文本内容审核

//当选择 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());

请求示例

<?php

require 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,
'schema' => '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
是

返回结果示例

响应参数具体含义参考 文本审核API文档。
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
)