推荐使用腾讯云 API 配套的 7 种常见的编程语言 SDK,已经封装了签名和请求过程,开发时只关注产品提供的具体接口即可。
API文档
SDK使用说明
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,均已开源,能更方便的调用 API,支持 Python、Java、PHP、Go、NodeJS、.NET、C++。
各语言SDK使用说明可参考 文档,介绍依赖版本以及安装过程等。
建议安装最新版本的SDK,即可调用接口,腾讯云提供了 API Explorer 可在线调用,并且可以快速生成 SDK 调用示例代码,以下Java、python、Golang示例均从 API Explorer 生成,其他语言可自行调试获取。
在线调用示例
代码生成示例
import com.tencentcloudapi.common.Credential;import com.tencentcloudapi.common.profile.ClientProfile;import com.tencentcloudapi.common.profile.HttpProfile;import com.tencentcloudapi.common.exception.TencentCloudSDKException;import com.tencentcloudapi.tms.v20201229.TmsClient;import com.tencentcloudapi.tms.v20201229.models.*;public class TextModeration{public static void main(String [] args) {try{// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取Credential cred = new Credential("SecretId", "SecretKey");// 实例化一个http选项,可选的,没有特殊需求可以跳过HttpProfile httpProfile = new HttpProfile();httpProfile.setEndpoint("tms.tencentcloudapi.com");// 实例化一个client选项,可选的,没有特殊需求可以跳过ClientProfile clientProfile = new ClientProfile();clientProfile.setHttpProfile(httpProfile);// 实例化要请求产品的client对象,clientProfile是可选的TmsClient client = new TmsClient(cred, "ap-guangzhou", clientProfile);// 实例化一个请求对象,每个接口都会对应一个request对象TextModerationRequest req = new TextModerationRequest();req.setContent("5Yqg5b6u5L+h");req.setBizType("default");// 返回的resp是一个TextModerationResponse的实例,与请求对象对应TextModerationResponse resp = client.TextModeration(req);// 输出json格式的字符串回包System.out.println(TextModerationResponse.toJsonString(resp));} catch (TencentCloudSDKException e) {System.out.println(e.toString());}}}
package mainimport ("fmt""github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common""github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/errors""github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common/profile"tms "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/tms/v20201229")func main() {// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取credential := common.NewCredential("SecretId","SecretKey",)// 实例化一个client选项,可选的,没有特殊需求可以跳过cpf := profile.NewClientProfile()cpf.HttpProfile.Endpoint = "tms.tencentcloudapi.com"// 实例化要请求产品的client对象,clientProfile是可选的client, _ := tms.NewClient(credential, "ap-guangzhou", cpf)// 实例化一个请求对象,每个接口都会对应一个request对象request := tms.NewTextModerationRequest()request.Content = common.StringPtr("5Yqg5b6u5L+h")request.BizType = common.StringPtr("default")// 返回的resp是一个TextModerationResponse的实例,与请求对象对应response, err := client.TextModeration(request)if _, ok := err.(*errors.TencentCloudSDKError); ok {fmt.Printf("An API error has returned: %s", err)return}if err != nil {panic(err)}// 输出json格式的字符串回包fmt.Printf("%s", response.ToJsonString())}
import jsonfrom tencentcloud.common import credentialfrom tencentcloud.common.profile.client_profile import ClientProfilefrom tencentcloud.common.profile.http_profile import HttpProfilefrom tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKExceptionfrom tencentcloud.tms.v20201229 import tms_client, modelstry:# 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密# 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305# 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取cred = credential.Credential("SecretId", "SecretKey")# 实例化一个http选项,可选的,没有特殊需求可以跳过httpProfile = HttpProfile()httpProfile.endpoint = "tms.tencentcloudapi.com"# 实例化一个client选项,可选的,没有特殊需求可以跳过clientProfile = ClientProfile()clientProfile.httpProfile = httpProfile# 实例化要请求产品的client对象,clientProfile是可选的client = tms_client.TmsClient(cred, "ap-guangzhou", clientProfile)# 实例化一个请求对象,每个接口都会对应一个request对象req = models.TextModerationRequest()params = {"Content": "5Yqg5b6u5L+h","BizType": "default"}req.from_json_string(json.dumps(params))# 返回的resp是一个TextModerationResponse的实例,与请求对象对应resp = client.TextModeration(req)# 输出json格式的字符串回包print(resp.to_json_string())except TencentCloudSDKException as err:print(err)
热点问题
SDK 是否支持设置超时时间?
多线程是否可以共用一个 Client?
SDK 目前不支持线程安全,因此需要在每个线程中创建一个 Client 来进行请求。
同时连接数量是否有限制?
目前没有限制,但是接口会限制每秒请求数(QPS)的并发数,文本接口默认为100QPS。建议客户端也控制并发数,因为太多线程可能超出用户机器的处理能力,导致连接失败。