专栏首页史上最简单的Spring Cloud教程java对接腾讯云短信,通过api发送短信
原创

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();
        }

    }

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Magicodes.Sms短信库的封装和集成

    如果使用Abp相关模块,则使用起来比较简单,具体您可以参考相关单元测试的编写。主要有以下步骤:

    雪雁-心莱科技
  • Adobe Flash Player木马惊现新变种

    最近暗影安全实验室在日常监测中发现了一款新的木马病毒Ginp,虽然他和前两周发布的反间谍之旅004报告中描述的“Flash Player”木马病毒名称很相似都带...

    FB客服
  • 腾讯云短信接口服务

    做个小程序需要发送验证码,短信接口是腾讯云的。了解官方的sdk和demo发现对于我这种浅层次的人来说太麻烦了,然后就从网上找了一版。短信服务开通可以访问 腾讯...

    聚优云惠
  • [微服务架构]及联问题和断路器

    及联问题是一个很严重的问题,它的现象是多个业务共用一个资源池,如果其中一个业务访问外部系统,当外部系统响应缓慢,且访问量大的时候,这个业务会占用所有的资源池 ,...

    逝兮诚
  • Web安全——逻辑漏洞浅析

    有的可用手机验证码登录,我们用burp抓取数据包然后放到Repeater这个模块里,反复点go,要是存在短信轰炸漏洞就会有一大堆短信

    天钧
  • SpringSecurity & OAuth2实现短信验证码方式获取AccessToken

    Spring提供的原生的OAuth2依赖内置了几种比较常用的授权方式:password、authorization-code、client_credential...

    恒宇少年
  • 苹果指控前芯片架构师窃取商业机密,员工反诉苹果侵犯隐私

    近日,苹果将曾担任苹果iPhone和iPad芯片的首席架构师杰拉德·威廉姆斯(Gerard Williams)告上法庭,该诉讼称,威廉姆斯仍在苹果工作期间创办了...

    镁客网
  • 从技术层面看“截获短信验证码”盗刷案

    本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/93/

    羽翰尘
  • 小知识科普:随处可见的短ID和短网址

    早上收到快递小哥的短信说快递被放在了A地的丰巢快递柜,然鹅这个快递柜我并不知道在哪里。

    帅地

扫码关注云+社区

领取腾讯云代金券