欢迎使用腾讯云开发者工具套件(SDK)3.0,SDK3.0是云 API3.0 平台的配套工具。目前已经支持cvm、vpc、cbs等产品,后续所有的云服务产品都会接入进来。新版SDK实现了统一化,具有各个语言版本的SDK使用方法相同,接口调用方式相同,统一的错误码和返回包格式这些优点。 为方便 JAVA 开发者调试和接入腾讯云产品 API,这里向您介绍适用于 Java 的腾讯云开发工具包,并提供首次使用开发工具包的简单示例。让您快速获取腾讯云 Java SDK 并开始调用。
1.依赖环境:JDK 7 版本及以上。 2.从 腾讯云控制台 开通相应产品。 3.获取 SecretID、SecretKey 以及调用地址(endpoint),endpoint 一般形式为*.tencentcloudapi.com,如CVM 的调用地址为 cvm.tencentcloudapi.com,具体参考各产品说明。
安装 Java SDK 前,先获取安全凭证。在第一次使用云API之前,用户首先需要在腾讯云控制台上申请安全凭证,安全凭证包括 SecretID 和 SecretKey, SecretID 是用于标识 API 调用者的身份,SecretKey是用于加密签名字符串和服务器端验证签名字符串的密钥。SecretKey 必须严格保管,避免泄露。
通过 Maven 获取安装是使用 JAVA SDK 的推荐方法,Maven 是 JAVA 的依赖管理工具,支持您项目所需的依赖项,并将其安装到项目中。关于 Maven 详细可参考 Maven 官网 。
- 请访问Maven官网下载对应系统Maven安装包进行安装。
- 为您的项目添加 Maven 依赖项,只需在 Maven pom.xml 添加以下依赖项即可。注意这里的版本号只是举例,您可以在Maven仓库上找到最新的版本,当前最新版本为
:
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<!-- go to https://search.maven.org/search?q=tencentcloud-sdk-java and get the latest version. -->
<!-- 请到https://search.maven.org/search?q=tencentcloud-sdk-java查询最新版本 -->
<version>3.0.93</version>
</dependency>
- 引用方法可参考示例。
- 前往 Github 代码托管地址 下载源码压缩包。
- 解压源码包到您项目合适的位置。
- 需要将vendor目录下的jar包放在java的可找到的路径中。
- 引用方法可参考示例。
以查询可用区接口为例:
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
// 导入对应产品模块的client
import com.tencentcloudapi.cvm.v20170312.CvmClient;
// 导入要请求接口对应的request response类
import com.tencentcloudapi.cvm.v20170312.models.DescribeZonesRequest;
import com.tencentcloudapi.cvm.v20170312.models.DescribeZonesResponse;
public class DescribeZones
{
public static void main(String [] args) {
try{
// 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
Credential cred = new Credential("secretId", "secretKey");
// 实例化要请求产品(以cvm为例)的client对象
ClientProfile clientProfile = new ClientProfile();
clientProfile.setSignMethod(ClientProfile.SIGN_TC3_256);
CvmClient client = new CvmClient(cred, "ap-guangzhou", clientProfile);
// 实例化一个请求对象
DescribeZonesRequest req = new DescribeZonesRequest();
// 通过client对象调用想要访问的接口,需要传入请求对象
DescribeZonesResponse resp = client.DescribeZones(req);
// 输出json格式的字符串回包
System.out.println(DescribeZonesRequest.toJsonString(resp));
} catch (TencentCloudSDKException e) {
System.out.println(e.toString());
}
}
}
您可以在github中examples目录下找到更详细的示例。
指定代理访问(版本>=3.0.96),目前仅支持 HTTP 代理:
HttpProfile httpProfile = new HttpProfile();
httpProfile.setProxyHost("真实代理ip");
httpProfile.setProxyPort(真实代理端口);
或者设置系统代理,您可以在代码中请求发起前设置:
System.setProperty("https.proxyHost", "真实代理ip");
System.setProperty("https.proxyPort", "真实代理端口");
或者运行程序时在启动参数中设置。
我们推荐您使用新版SDK, 如果需要旧版SDK,请在您的Maven pom.xml 添加以下依赖项即可:
<dependency>
<groupId>com.qcloud</groupId>
<artifactId>qcloud-java-sdk</artifactId>
<version>2.0.6</version>
</dependency>
请注意,从3.0.x版本升级到3.1.x版本有兼容性问题,对于Integer字段的使用修改为了Long类型,需要重新编译项目。