控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

有奖征文|投稿上云技术实践,赢取价值5000元大奖> HOT

简介

本文档提供关于文本审核的 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
        ),
        'Conf' => array(
            'DetectType' => 'Porn,Ads,Illegal,Abuse', //Porn,Ads,Illegal,Abuse类型
//            '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'// 对象名,请注意对象是否存在
        ),
        'Conf' => array(
            'DetectType' => 'Porn,Ads,Illegal,Abuse',//Porn,Ads,Illegal,Abuse类型
//            'Callback' => 'https://example.callback.com/test/', //回调URL
//            'CallbackVersion' => 'Detail', //回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 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
Content Request.Input 当传入的内容为纯文本信息,需要先经过 base64 编码,文本编码前的原文长度不能超过10000个 UTF8 编码字符。若超出长度限制,接口将会报错。 String
Url Request.Input 文本文件的完整链接,例如:https://www.test.com/test.txt String
DataId Request.Input 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。 String
UserInfo Request.Input 用户业务字段。 Container

Container 节点 UserInfo 的内容:

节点名称(关键字) 父节点 描述 类型 是否必选
TokenId Request.Input.UserInfo 用户业务 TokenId,长度不超过128字节。 String
Nickname Request.Input.UserInfo 用户业务 Nickname,长度不超过128字节。 String
DeviceId Request.Input.UserInfo 用户业务 DeviceId,长度不超过128字节。 String
AppId Request.Input.UserInfo 用户业务 AppId,长度不超过128字节。 String
Room Request.Input.UserInfo 用户业务 Room,长度不超过128字节。 String
IP Request.Input.UserInfo 用户业务 IP,长度不超过128字节。 String
Type Request.Input.UserInfo 用户业务 Type,长度不超过128字节。 String
注意:

  • 单次请求只能使用 Object 、Content、Url 中的一个。
  • 当选择 Object、Url 时,审核结果为异步返回,可通过 查询文本审核任务结果 API 接口获取返回结果。
  • 当选择 Content 时,审核结果为同步返回,可通过 响应体 查看返回结果。
  • 目前仅支持中文、英文、阿拉伯数字的检测与审核。

Container 类型 Conf 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
BizType Request.Conf 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置公共审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。 BizType 不填写时,将自动使用默认的审核策略。 String
DetectType Request.Conf (后续不再维护)审核的场景类型,有效值:Porn(涉黄)、Ads(广告)等,可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。如您有更多场景的审核需要,请使用 BizType 参数。 String
Callback Request.Conf 审核结果可以回调形式发送至您的回调地址,支持以http://或者https://开头的地址,例如:http://www.callback.com。 当 Input 使用 Content 时,该参数不生效,结果会直接返回。 String
CallbackVersion Request.Conf 回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。 String

返回结果示例

示例一:审核文本内容

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

查询文本审核任务

功能说明

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

方法原型

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

返回结果示例

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
)

目录