控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

诚邀爱技术、爱分享的你,成为文档内容共建者> HOT

简介

内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。

说明:

使用内容审核服务需拥有数据万象使用权限:

本文档提供关于文本审核的相关的 API 概览以及 SDK 示例代码。

API 操作描述
创建任务 用于提交一个文本审核任务
查询任务 用于查询指定的文本审核任务

创建任务

PutTextAuditingJob 接口用来提交一个文本审核任务。当审核文本内容时,响应体直接返回审核结果,当审核文本对象时,返回任务摘要,您可以通过主动设置回调地址接收审核信息,也可以通过 JobId 进行查询。

方法原型

func (s *CIService) PutTextAuditingJob(ctx context.Context, opt *PutTextAuditingJobOptions) (*PutTextAuditingJobResult, *Response, error)

请求示例

// 将 examplebucket-1250000000 和 COS_REGION修改为真实的信息
// CI 任务需要提供CIURL
bu, _ := url.Parse("https://examplebucket-1250000000.cos.COS_REGION.myqcloud.com")
cu, _ := url.Parse("https://examplebucket-1250000000.ci.COS_REGION.myqcloud.com")
b := &cos.BaseURL{BucketURL: bu, CIURL: cu}
c := cos.NewClient(b, &http.Client{
        Transport: &cos.AuthorizationTransport{
            SecretID:  os.Getenv("SECRETID"),
            SecretKey: os.Getenv("SECRETKEY"),
        }
})
opt := &cos.PutTextAuditingJobOptions{
    InputObject: "test.txt",
    Conf: &cos.TextAuditingJobConf{
        DetectType: "Porn,Ads",
    },
}
res, _, err := c.CI.PutTextAuditingJob(context.Background(), opt)

参数说明

type PutTextAuditingJobOptions struct {
    InputObject   string
    InputUrl      string
    InputContent  string
    InputDataId   string
    InputUserInfo *UserExtraInfo
    Conf          *TextAuditingJobConf
}
type UserExtraInfo struct {
    TokenId  string
    Nickname string
    DeviceId string
    AppId    string
    Room     string
    IP       string
    Type     string
}
type TextAuditingJobConf struct {
    DetectType      string
    Callback        string
    CallbackVersion string
    BizType         string
}

参数名称 参数描述 类型
InputObject 当前 COS 存储桶中的文本文件名称,例如在目录 test 中的文件 test.txt,则文件名称为 test/test.txt,文本文件仅支持UTF8编码和 GBK 编码的内容,且文件大小不得超过1MB。Object, Url 和 Content 只能选择其中一种。 String
InputContent 当传入的内容为纯文本信息,需要先经过 base64 编码,文本编码前的原文长度不能超过10000个 utf8 编码字符。若超出长度限制,接口将会报错。Object, Url 和 Content 只能选择其中一种。 String
InputUrl 文本文件的链接地址,例如 http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/test.txt。Object, Url 和 Content 只能选择其中一种。 String
InputDataId 文本标识,该字段在结果中返回原始内容,长度限制为512字节。 String
InputUserInfo 用户业务字段。 Object
Conf 审核规则配置。 Struct
BizType 审核策略,不填写则使用默认策略。可在控制台进行配置,详情请参见 设置审核策略 String
DetectType 审核的场景类型,有效值:Porn(涉黄)、Ads(广告)、Illegal(违法)、Abuse(谩骂),可以传入多种类型,不同类型以逗号分隔,例如:Porn,Ads。如您有更多场景的审核需要,请使用 BizType 参数。 String
Callback 审核结果可以回调形式发送至您的回调地址,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com。当Input使用Content时,该参数不生效,结果会直接返回。 String
CallbackVersion 回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为Simple。 String

结果说明

调用 PutTextAuditingJob 函数,会解析 api 返回的 xml 内容到 PutTextAuditingJobResult 结构,具体返回参数可查看 提交文本审核任务 文档。

查询任务

GetTextAuditingJob 接口用来查询指定的文本审核任务。您可以根据文本审核任务的 JobId 来查询文本审核结果。

方法原型

func (s *CIService) GetTextAuditingJob(ctx context.Context, jobid string) (*GetTextAuditingJobResult, *Response, error)

请求示例

// 将 examplebucket-1250000000 和 COS_REGION修改为真实的信息
// CI 任务需要提供CIURL
bu, _ := url.Parse("https://examplebucket-1250000000.cos.COS_REGION.myqcloud.com")
cu, _ := url.Parse("https://examplebucket-1250000000.ci.COS_REGION.myqcloud.com")
b := &cos.BaseURL{BucketURL: bu, CIURL: cu}
c := cos.NewClient(b, &http.Client{
    Transport: &cos.AuthorizationTransport{
        SecretID:  os.Getenv("SECRETID"),
        SecretKey: os.Getenv("SECRETKEY"),
    }
})
jobId := "stce25f391a72e11eb99f********"
res, _, err := c.CI.GetTextAuditingJob(context.Background(), jobId)

参数说明

参数名称 参数描述 类型
jobId 任务 ID。 String

结果说明

调用 GetTextAuditingJob 函数,会解析 api 返回的 xml 内容到 GetTextAuditingJobResult 结构,具体返回参数可查看 查询文本审核任务结果 文档。

目录