Java Code Examples for com.tencentcloudapi.common.profile.ClientProfile#setSignMethod()

The following examples show how to use com.tencentcloudapi.common.profile.ClientProfile#setSignMethod() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: TencentSendMessageFactory.java    From MicroCommunity with Apache License 2.0 5 votes vote down vote up
public static void sendMessage(String tel, String code) {

        //开始发送验证码
        logger.debug("发送号码为{},短信码为{}", tel, code);
//        String url = "https://sms.tencentcloudapi.com/?Action=SendSms" +
//                "&PhoneNumberSet.0=+86" + tel +
//                "&TemplateID=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "TemplateID") +
//                "&Sign=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "Sign") +
//                "&TemplateParamSet.0=" + code +
//                "&SmsSdkAppid=" + MappingCache.getValue(TENCENT_SMS_DOMAIN, "SmsSdkAppid") +
//                "&Version=2019-07-11";
//        ResponseEntity<String> responseEntity = getRestTemplate().getForEntity(url, String.class);

        // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,见《创建secretId和secretKey》小节
        Credential cred = new Credential(MappingCache.getValue(TENCENT_SMS_DOMAIN, "secretId"),
                MappingCache.getValue(TENCENT_SMS_DOMAIN, "secretKey"));
        // 实例化要请求产品(以cvm为例)的client对象
        ClientProfile clientProfile = new ClientProfile();
        clientProfile.setSignMethod(ClientProfile.SIGN_TC3_256);
        SmsClient smsClient = new SmsClient(cred, MappingCache.getValue(TENCENT_SMS_DOMAIN, "region"));//第二个ap-chongqing 填产品所在的区
        SendSmsRequest sendSmsRequest = new SendSmsRequest();
        sendSmsRequest.setSmsSdkAppid(MappingCache.getValue(TENCENT_SMS_DOMAIN, "SmsSdkAppid"));//appId ,见《创建应用》小节
        String[] phones = {"+86" + tel};  //发送短信的目标手机号,可填多个。
        sendSmsRequest.setPhoneNumberSet(phones);
        sendSmsRequest.setTemplateID(MappingCache.getValue(TENCENT_SMS_DOMAIN, "TemplateID"));  //模版id,见《创建短信签名和模版》小节
        String[] templateParam = {code};//模版参数,从前往后对应的是模版的{1}、{2}等,见《创建短信签名和模版》小节
        sendSmsRequest.setTemplateParamSet(templateParam);
        sendSmsRequest.setSign(MappingCache.getValue(TENCENT_SMS_DOMAIN, "Sign")); //签名内容,不是填签名id,见《创建短信签名和模版》小节
        SendSmsResponse sendSmsResponse = null;
        try {
            sendSmsResponse = smsClient.SendSms(sendSmsRequest); //发送短信
        } catch (TencentCloudSDKException e) {
            logger.error("发送短信失败", e);
        }

        logger.debug("腾讯短信验证码发送,请求报文" + JSONObject.toJSONString(sendSmsRequest) + ",返回日志" + (sendSmsResponse != null ? sendSmsResponse.toString() : ""));


    }
 
Example 2
Source File: DescribeInstances.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    try {
        // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选的,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        httpProfile.setReqMethod("GET"); // get请求(默认为post请求)
        httpProfile.setConnTimeout(30); // 请求连接超时时间,单位为秒(默认60秒)
        httpProfile.setEndpoint("cvm.ap-shanghai.tencentcloudapi.com"); // 指定接入地域域名(默认就近接入)

        // 实例化一个client选项,可选的,没有特殊需求可以跳过
        ClientProfile clientProfile = new ClientProfile();
        clientProfile.setSignMethod("HmacSHA256"); // 指定签名算法(默认为HmacSHA256)
        clientProfile.setHttpProfile(httpProfile);
        clientProfile.setDebug(true);
        // 实例化要请求产品(以cvm为例)的client对象,clientProfile是可选的
        CvmClient client = new CvmClient(cred, "ap-shanghai", clientProfile);

        // 实例化一个cvm实例信息查询请求对象,每个接口都会对应一个request对象。
        DescribeInstancesRequest req = new DescribeInstancesRequest();

        // 填充请求参数,这里request对象的成员变量即对应接口的入参
        // 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
        Filter respFilter = new Filter(); // 创建Filter对象, 以zone的维度来查询cvm实例
        respFilter.setName("zone");
        respFilter.setValues(new String[] { "ap-shanghai-1", "ap-shanghai-2" });
        req.setFilters(new Filter[] { respFilter }); // Filters 是成员为Filter对象的列表

        // 这里还支持以标准json格式的string来赋值请求参数的方式。下面的代码跟上面的参数赋值是等效的
        String params = "{\"Filters\":[{\"Name\":\"zone\",\"Values\":[\"ap-shanghai-1\",\"ap-shanghai-2\"]}]}";
        req = DescribeInstancesRequest.fromJsonString(params, DescribeInstancesRequest.class);

        // 通过client对象调用DescribeInstances方法发起请求。注意请求方法名与请求对象是对应的
        // 返回的resp是一个DescribeInstancesResponse类的实例,与请求对象对应
        DescribeInstancesResponse resp = client.DescribeInstances(req);

        // 输出json格式的字符串回包
        System.out.println(DescribeInstancesResponse.toJsonString(resp));

        // 也可以取出单个值。
        // 你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
        System.out.println(resp.getTotalCount());
    } catch (TencentCloudSDKException e) {
        System.out.println(e.toString());
    }
}
 
Example 3
Source File: PullSmsSendStatusByPhoneNumber.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    try {
        /* 必要步骤:
         * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
         * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
         * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
         * 以免泄露密钥对危及你的财产安全。
         * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        // 设置代理
        httpProfile.setProxyHost("host");
        httpProfile.setProxyPort(port);
        /* SDK默认使用POST方法。
         * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
        httpProfile.setReqMethod("POST");
        /* SDK有默认的超时时间,非必要请不要进行调整
         * 如有需要请在代码中查阅以获取最新的默认值 */
        httpProfile.setConnTimeout(60);
        /* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
         * 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
        httpProfile.setEndpoint("sms.tencentcloudapi.com");

        /* 非必要步骤:
         * 实例化一个客户端配置对象,可以指定超时时间等配置 */
        ClientProfile clientProfile = new ClientProfile();
        /* SDK默认用TC3-HMAC-SHA256进行签名
         * 非必要请不要修改这个字段 */
        clientProfile.setSignMethod("HmacSHA256");
        clientProfile.setHttpProfile(httpProfile);

        /* 实例化要请求产品(以sms为例)的client对象
         * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
        SmsClient client = new SmsClient(cred, "",clientProfile);

        /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
         * 你可以直接查询SDK源码确定接口有哪些属性可以设置
         * 属性可能是基本类型,也可能引用了另一个数据结构
         * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
        PullSmsSendStatusByPhoneNumberRequest req = new PullSmsSendStatusByPhoneNumberRequest();

        /* 填充请求参数,这里request对象的成员变量即对应接口的入参
         * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
         * 基本类型的设置:
         * 帮助链接:
         * 短信控制台: https://console.cloud.tencent.com/sms/smslist
         * sms helper: https://cloud.tencent.com/document/product/382/3773 */

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        String appid = "1400009099";
        req.setSmsSdkAppid(appid);

        /* 设置手机号码,采用 e.164 标准,+[国家或地区码][手机号]
         * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
        String phoneNumber = "+8621212313123";
        req.setPhoneNumber(phoneNumber);

        /* 拉取起始时间,UNIX 时间戳(时间:秒) */
        String sendDateTime = "1572859620";
        req.setSendDateTime(sendDateTime);

        /* 偏移量 注:目前固定设置为0 */
        Long offset = 0L;
        req.setOffset(offset);

        /* 拉取最大条数,最多100条 */
        Long limit = 100L;
        req.setLimit(limit);

        /* 通过 client 对象调用 PullSmsSendStatusByPhoneNumber 方法发起请求。注意请求方法名与请求对象是对应的
         * 返回的 res 是一个 PullSmsSendStatusByPhoneNumberResponse 类的实例,与请求对象对应 */
        PullSmsSendStatusByPhoneNumberResponse res = client.PullSmsSendStatusByPhoneNumber(req);

        // 输出json格式的字符串回包
        System.out.println(PullSmsSendStatusByPhoneNumberResponse.toJsonString(res));

    } catch (TencentCloudSDKException e) {
        e.printStackTrace();
    }
}
 
Example 4
Source File: PullSmsSendStatus.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    try {
        /* 必要步骤:
         * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
         * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
         * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
         * 以免泄露密钥对危及你的财产安全。
         * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        // 设置代理
        httpProfile.setProxyHost("host");
        httpProfile.setProxyPort(port);
        /* SDK默认使用POST方法。
         * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
        httpProfile.setReqMethod("POST");
        /* SDK有默认的超时时间,非必要请不要进行调整
         * 如有需要请在代码中查阅以获取最新的默认值 */
        httpProfile.setConnTimeout(60);
        /* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
         * 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
        httpProfile.setEndpoint("sms.tencentcloudapi.com");

        /* 非必要步骤:
         * 实例化一个客户端配置对象,可以指定超时时间等配置 */
        ClientProfile clientProfile = new ClientProfile();
        /* SDK默认用TC3-HMAC-SHA256进行签名
         * 非必要请不要修改这个字段 */
        clientProfile.setSignMethod("HmacSHA256");
        clientProfile.setHttpProfile(httpProfile);

        /* 实例化要请求产品(以sms为例)的client对象
         * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
        SmsClient client = new SmsClient(cred, "",clientProfile);

        /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
         * 你可以直接查询SDK源码确定接口有哪些属性可以设置
         * 属性可能是基本类型,也可能引用了另一个数据结构
         * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
        PullSmsSendStatusRequest req = new PullSmsSendStatusRequest();

        /* 填充请求参数,这里request对象的成员变量即对应接口的入参
         * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
         * 基本类型的设置:
         * 帮助链接:
         * 短信控制台: https://console.cloud.tencent.com/sms/smslist
         * sms helper: https://cloud.tencent.com/document/product/382/3773 */

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        String appid = "1400009099";
        req.setSmsSdkAppid(appid);

        // 设置拉取最大条数,最多100条
        Long limit = 5L;
        req.setLimit(limit);

        /* 通过 client 对象调用 PullSmsSendStatus 方法发起请求。注意请求方法名与请求对象是对应的
         * 返回的 res 是一个 PullSmsSendStatusResponse 类的实例,与请求对象对应 */
        PullSmsSendStatusResponse res = client.PullSmsSendStatus(req);

        // 输出json格式的字符串回包
        System.out.println(PullSmsSendStatusResponse.toJsonString(res));

    } catch (TencentCloudSDKException e) {
        e.printStackTrace();
    }
}
 
Example 5
Source File: SendSms.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main( String[] args )
{
    try {
        /* 必要步骤:
         * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
         * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
         * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
         * 以免泄露密钥对危及你的财产安全。
         * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        // 设置代理
        httpProfile.setProxyHost("host");
        httpProfile.setProxyPort(port);
        /* SDK默认使用POST方法。
         * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
        httpProfile.setReqMethod("POST");
        /* SDK有默认的超时时间,非必要请不要进行调整
         * 如有需要请在代码中查阅以获取最新的默认值 */
        httpProfile.setConnTimeout(60);
        /* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
         * 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
        httpProfile.setEndpoint("sms.tencentcloudapi.com");

        /* 非必要步骤:
         * 实例化一个客户端配置对象,可以指定超时时间等配置 */
        ClientProfile clientProfile = new ClientProfile();
        /* SDK默认用TC3-HMAC-SHA256进行签名
         * 非必要请不要修改这个字段 */
        clientProfile.setSignMethod("HmacSHA256");
        clientProfile.setHttpProfile(httpProfile);
        /* 实例化要请求产品(以sms为例)的client对象
         * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
        SmsClient client = new SmsClient(cred, "",clientProfile);
        /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
         * 你可以直接查询SDK源码确定接口有哪些属性可以设置
         * 属性可能是基本类型,也可能引用了另一个数据结构
         * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
        SendSmsRequest req = new SendSmsRequest();

        /* 填充请求参数,这里request对象的成员变量即对应接口的入参
         * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
         * 基本类型的设置:
         * 帮助链接:
         * 短信控制台: https://console.cloud.tencent.com/sms/smslist
         * sms helper: https://cloud.tencent.com/document/product/382/3773 */

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        String appid = "1400009099";
        req.setSmsSdkAppid(appid);

        /* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */
        String sign = "签名内容";
        req.setSign(sign);

        /* 国际/港澳台短信 senderid: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */
        String senderid = "xxx";
        req.setSenderId(senderid);

        /* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */
        String session = "xxx";
        req.setSessionContext(session);

        /* 短信码号扩展号: 默认未开通,如需开通请联系 [sms helper] */
        String extendcode = "xxx";
        req.setExtendCode(extendcode);

        /* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */
        String templateID = "400000";
        req.setTemplateID(templateID);

        /* 下发手机号码,采用 e.164 标准,+[国家或地区码][手机号]
         * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
        String[] phoneNumbers = {"+8621212313123", "+8612345678902", "+8612345678903"};
        req.setPhoneNumberSet(phoneNumbers);

        /* 模板参数: 若无模板参数,则设置为空*/
        String[] templateParams = {"5678"};
        req.setTemplateParamSet(templateParams);

        /* 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的
         * 返回的 res 是一个 SendSmsResponse 类的实例,与请求对象对应 */
        SendSmsResponse res = client.SendSms(req);

        // 输出json格式的字符串回包
        System.out.println(SendSmsResponse.toJsonString(res));

        // 也可以取出单个值,你可以通过官网接口文档或跳转到response对象的定义处查看返回字段的定义
        System.out.println(res.getRequestId());

    } catch (TencentCloudSDKException e) {
        e.printStackTrace();
    }
}
 
Example 6
Source File: PullSmsReplyStatusByPhoneNumber.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    try {
        /* 必要步骤:
         * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
         * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
         * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
         * 以免泄露密钥对危及你的财产安全。
         * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        // 设置代理
        httpProfile.setProxyHost("host");
        httpProfile.setProxyPort(port);
        /* SDK默认使用POST方法。
         * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
        httpProfile.setReqMethod("POST");
        /* SDK有默认的超时时间,非必要请不要进行调整
         * 如有需要请在代码中查阅以获取最新的默认值 */
        httpProfile.setConnTimeout(60);
        /* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
         * 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
        httpProfile.setEndpoint("sms.tencentcloudapi.com");

        /* 非必要步骤:
         * 实例化一个客户端配置对象,可以指定超时时间等配置 */
        ClientProfile clientProfile = new ClientProfile();
        /* SDK默认用TC3-HMAC-SHA256进行签名
         * 非必要请不要修改这个字段 */
        clientProfile.setSignMethod("HmacSHA256");
        clientProfile.setHttpProfile(httpProfile);

        /* 实例化要请求产品(以sms为例)的client对象
         * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
        SmsClient client = new SmsClient(cred, "",clientProfile);

        /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
         * 你可以直接查询SDK源码确定接口有哪些属性可以设置
         * 属性可能是基本类型,也可能引用了另一个数据结构
         * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
        PullSmsReplyStatusByPhoneNumberRequest req = new PullSmsReplyStatusByPhoneNumberRequest();

        /* 填充请求参数,这里request对象的成员变量即对应接口的入参
         * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
         * 基本类型的设置:
         * 帮助链接:
         * 短信控制台: https://console.cloud.tencent.com/sms/smslist
         * sms helper: https://cloud.tencent.com/document/product/382/3773 */

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        String appid = "1400009099";
        req.setSmsSdkAppid(appid);

        /* 设置手机号码,采用 e.164 标准,+[国家或地区码][手机号]
         * 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/
        String phoneNumber = "+8621212313123";
        req.setPhoneNumber(phoneNumber);

        /* 拉取起始时间,UNIX 时间戳(时间:秒) */
        String sendDateTime = "1572859620";
        req.setSendDateTime(sendDateTime);

        /* 偏移量 注:目前固定设置为0 */
        Long offset = 0L;
        req.setOffset(offset);

        /* 拉取最大条数,最多100条 */
        Long limit = 100L;
        req.setLimit(limit);

        /* 通过 client 对象调用 PullSmsReplyStatusByPhoneNumber 方法发起请求。注意请求方法名与请求对象是对应的
         * 返回的 res 是一个 PullSmsReplyStatusByPhoneNumber 类的实例,与请求对象对应 */
        PullSmsReplyStatusByPhoneNumberResponse res = client.PullSmsReplyStatusByPhoneNumber(req);

        // 输出json格式的字符串回包
        System.out.println(PullSmsReplyStatusByPhoneNumberResponse.toJsonString(res));

    } catch (TencentCloudSDKException e) {
        e.printStackTrace();
    }
}
 
Example 7
Source File: PullSmsReplyStatus.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    try {
        /* 必要步骤:
         * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
         * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
         * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
         * 以免泄露密钥对危及你的财产安全。
         * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        // 设置代理
        httpProfile.setProxyHost("host");
        httpProfile.setProxyPort(port);
        /* SDK默认使用POST方法。
         * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
        httpProfile.setReqMethod("POST");
        /* SDK有默认的超时时间,非必要请不要进行调整
         * 如有需要请在代码中查阅以获取最新的默认值 */
        httpProfile.setConnTimeout(60);
        /* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
         * 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
        httpProfile.setEndpoint("sms.tencentcloudapi.com");

        /* 非必要步骤:
         * 实例化一个客户端配置对象,可以指定超时时间等配置 */
        ClientProfile clientProfile = new ClientProfile();
        /* SDK默认用TC3-HMAC-SHA256进行签名
         * 非必要请不要修改这个字段 */
        clientProfile.setSignMethod("HmacSHA256");
        clientProfile.setHttpProfile(httpProfile);

        /* 实例化要请求产品(以sms为例)的client对象
         * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
        SmsClient client = new SmsClient(cred, "",clientProfile);

        /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
         * 你可以直接查询SDK源码确定接口有哪些属性可以设置
         * 属性可能是基本类型,也可能引用了另一个数据结构
         * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
        PullSmsReplyStatus req = new PullSmsReplyStatus();

        /* 填充请求参数,这里request对象的成员变量即对应接口的入参
         * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
         * 基本类型的设置:
         * 帮助链接:
         * 短信控制台: https://console.cloud.tencent.com/sms/smslist
         * sms helper: https://cloud.tencent.com/document/product/382/3773 */

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        String appid = "1400009099";
        req.setSmsSdkAppid(appid);

        // 设置拉取最大条数,最多100条
        Long limit = 5L;
        req.setLimit(limit);

        /* 通过 client 对象调用 PullSmsReplyStatus 方法发起请求。注意请求方法名与请求对象是对应的
         * 返回的 res 是一个 PullSmsReplyStatusResponse 类的实例,与请求对象对应 */
        PullSmsReplyStatusResponse res = client.PullSmsReplyStatus(req);

        // 输出json格式的字符串回包
        System.out.println(PullSmsReplyStatusResponse.toJsonString(res));

    } catch (TencentCloudSDKException e) {
        e.printStackTrace();
    }
}
 
Example 8
Source File: SmsPackagesStatistics.java    From tencentcloud-sdk-java with Apache License 2.0 4 votes vote down vote up
public static void main(String[] args) {
    try {
        /* 必要步骤:
         * 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。
         * 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。
         * 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,
         * 以免泄露密钥对危及你的财产安全。
         * CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/
        Credential cred = new Credential("secretId", "secretKey");

        // 实例化一个http选项,可选,没有特殊需求可以跳过
        HttpProfile httpProfile = new HttpProfile();
        // 设置代理
        httpProfile.setProxyHost("host");
        httpProfile.setProxyPort(port);
        /* SDK默认使用POST方法。
         * 如果你一定要使用GET方法,可以在这里设置。GET方法无法处理一些较大的请求 */
        httpProfile.setReqMethod("POST");
        /* SDK有默认的超时时间,非必要请不要进行调整
         * 如有需要请在代码中查阅以获取最新的默认值 */
        httpProfile.setConnTimeout(60);
        /* SDK会自动指定域名。通常是不需要特地指定域名的,但是如果你访问的是金融区的服务
         * 则必须手动指定域名,例如sms的上海金融区域名: sms.ap-shanghai-fsi.tencentcloudapi.com */
        httpProfile.setEndpoint("sms.tencentcloudapi.com");

        /* 非必要步骤:
         * 实例化一个客户端配置对象,可以指定超时时间等配置 */
        ClientProfile clientProfile = new ClientProfile();
        /* SDK默认用TC3-HMAC-SHA256进行签名
         * 非必要请不要修改这个字段 */
        clientProfile.setSignMethod("HmacSHA256");
        clientProfile.setHttpProfile(httpProfile);

        /* 实例化要请求产品(以sms为例)的client对象
         * 第二个参数是地域信息,可以直接填写字符串ap-guangzhou,或者引用预设的常量 */
        SmsClient client = new SmsClient(cred, "",clientProfile);

        /* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
         * 你可以直接查询SDK源码确定接口有哪些属性可以设置
         * 属性可能是基本类型,也可能引用了另一个数据结构
         * 推荐使用IDE进行开发,可以方便的跳转查阅各个接口和数据结构的文档说明 */
        SmsPackagesStatisticsRequest req = new SmsPackagesStatisticsRequest();

        /* 填充请求参数,这里request对象的成员变量即对应接口的入参
         * 你可以通过官网接口文档或跳转到request对象的定义处查看请求参数的定义
         * 基本类型的设置:
         * 帮助链接:
         * 短信控制台: https://console.cloud.tencent.com/sms/smslist
         * sms helper: https://cloud.tencent.com/document/product/382/3773 */

        /* 短信应用ID: 短信SdkAppid在 [短信控制台] 添加应用后生成的实际SdkAppid,示例如1400006666 */
        String appid = "1400009099";
        req.setSmsSdkAppid(appid);

        // 最大上限(需要拉取的套餐包个数)
        Long limit = 5L;
        req.setLimit(limit);
        /* 偏移量 注:目前固定设置为0 */
        Long offset = 0L;
        req.setOffset(offset);

        /* 通过 client 对象调用 SmsPackagesStatistics 方法发起请求。注意请求方法名与请求对象是对应的
         * 返回的 res 是一个 SmsPackagesStatisticsResponse 类的实例,与请求对象对应 */
        SmsPackagesStatisticsResponse res = client.SmsPackagesStatisticsStatus(req);

        // 输出json格式的字符串回包
        System.out.println(SmsPackagesStatisticsStatusResponse.toJsonString(res));

    } catch (TencentCloudSDKException e) {
        e.printStackTrace();
    }
}