java对接腾讯云短信,通过api发送短信。
更新日期:2021-08-12 07:46  雨后彩虹_旺远  点击:
 java对接腾讯云短信,通过api发送短信

简介
腾讯云短信(Short Message Service,SMS)沉淀腾讯十多年短信服务技术和经验,为 QQ、微信等亿级平台和10万+客户提供快速灵活接入的高质量的国内短信与国际/港澳台短信服务,具有非常高的稳定性。本文主要介绍如何使用Java SDk进行和腾讯云短信平台的对接,对接目标是在Java应用程序调用腾讯云短信的接口向目标手机号发送短信。

腾讯云短信发送平台的操作
登陆腾讯云平台https://cloud.tencent.com/,登陆成功后搜索短信,进入短信产品的控制台,新用户也许可以免费领取一定额度的免费短信。进入短信平台后,需要创建签名和创建正文模板。

这两步都需要审核,按照指引填写即可。

创建短信签名和模版
签名创建成功并审核通过后,在控制台可以看到签名的id和签名的内容,其中签名的内容在后续的开发中会用到。

短信正文模版创建成功和通过后,可以看到模版的ID和模版的内容,模版的内容可以用占位符{number},比如以下的短信正文模版:

TSF应用告警:告警标题:{1},告警内容:{2}。

上面的模版含有2个参数,在后续会有用到。

创建应用
在短信平台中的应用管理里创建应用(如果有可以不用创建),创建成功后,有个SDK AppID,这个在后续中会用到。

创建secretId和secretKey
secretid和secretKey在https://console.cloud.tencent.com/cam/capi中创建,secretid和secretKey具有非常高的访问权限,不能随意泄露给别人。

购买短信包
如果没有短信额度,调用api报错。

sdk开发
sdk引入

在java应用的pom应用引入以下的sdk依赖,建议在导入sdk之前,在maven仓库中查询最新的sdk版本,本文的sdk版本为3.0.112。

<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.112</version>
</dependency>
代码实现:

具体的代码见下面,参数说明见代码的注释:

public static void main(String[] args) {

        // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,见《创建secretId和secretKey》小节
        Credential cred = new Credential("2s2e22",
                "seceawwwe");

        // 实例化要请求产品(以cvm为例)的client对象
        ClientProfile clientProfile = new ClientProfile();
        clientProfile.setSignMethod(ClientProfile.SIGN_TC3_256);
        SmsClient smsClient = new SmsClient(cred, "ap-chongqing");//第二个ap-chongqing 填产品所在的区
        SendSmsRequest sendSmsRequest = new SendSmsRequest();
        sendSmsRequest.setSmsSdkAppid("140102072921");//appId ,见《创建应用》小节
        String[] phones={"+8615007187307"};  //发送短信的目标手机号,可填多个。
        sendSmsRequest.setPhoneNumberSet(phones);
        sendSmsRequest.setTemplateID("4976412");  //模版id,见《创建短信签名和模版》小节
        String [] templateParam={"应用离线了","应用内存溢出,应用down了"};//模版参数,从前往后对应的是模版的{1}、{2}等,见《创建短信签名和模版》小节
        sendSmsRequest.setTemplateParamSet(templateParam);
        sendSmsRequest.setSign("腾讯云交付中心"); //签名内容,不是填签名id,见《创建短信签名和模版》小节
        try {
            SendSmsResponse sendSmsResponse= smsClient.SendSms(sendSmsRequest); //发送短信
            System.out.println(sendSmsResponse.toString());
        } catch (TencentCloudSDKException e) {
            e.printStackTrace();
        }

    }
域名购买相关资讯可以参考官网,
  • 腾讯云 AIA 的特性。

    腾讯云 AIA 的特性 低时延 AIA 用 Anycast 的方式同时把 IP 发布到多个地域,请求包根据传输协议会到达最优的 IP 发布地域,优先进入腾讯云,然后走腾讯云的内网专线到达主机,避开公网的拥堵,达到减少时延的效果。 高可靠 公网传输是不可靠的传输,而运营商线路中断...

  •  java对接腾讯云短信,通过api发送短信。
  • java对接腾讯云短信,通过api发送短信。

    java对接腾讯云短信,通过api发送短信 简介 腾讯云短信(Short Message Service,SMS)沉淀腾讯十多年短信服务技术和经验,为 QQ、微信等亿级平台和10万+客户提供快速灵活接入的高质量的国内短信与国际/港澳台短信服务,具有非常高的稳定性。本文主要介绍如何使用Java...

  • 说说上班族有必要购买重疾险吗?返还型重疾险是什么吧?

    上班族有必要购买重疾险吗?返还型重疾险是什么? 在现代化快节奏的城市生活中,上班族作为社会的主力军,面对着巨大的工作和生活压力,身心俱疲,抵御疾病和意外风险的能力较弱。所以,一份重疾保险对我们来说是非常必要的。 年金保险 小诺今天就来和大家聊一聊上班族...