专栏首页史上最简单的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 条评论
登录 后参与评论

相关文章

  • SpringBoot非官方教程 | 第九篇: springboot整合Redis

    这篇文章主要介绍springboot整合redis,至于没有接触过redis的同学可以看下这篇文章:5分钟带你入门Redis。 引入依赖: 在pom文件中添加r...

    方志朋
  • SpringBoot非官方教程 | 第十四篇:在springboot中用redis实现消息队列

    这篇文章主要讲述如何在springboot中用reids实现消息队列。 准备阶段 安装redis,可参考我的另一篇文章,5分钟带你入门Redis。 java 1...

    方志朋
  • 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)

    一、spring cloud简介 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线...

    方志朋
  • RS Meet DL(68)-建模多任务学习中任务相关性的模型MMoE

    本文介绍的论文题目是:《Modeling Task Relationships in Multi-task Learning with Multi-gate M...

    石晓文
  • 发送手机验证码实现

    但是刚才试了,第一次用官方提供的demo发送成功,然后整合到自己项目中,调试时由于参数配置错误导致发送了几次失败后,5次就用完了。按理说成功才能算一次,果断放弃...

    我的小碗汤
  • 寻找核心基因+子网络

    一般做完差异基因,或者使用其他方法找到想要的biomarker时,想要知道这些基因的调控网络,或者哪些基因在调控网络中处于核心位置,比较常见的方法就是wgcna...

    用户1359560
  • 10亿浏览量的“军装照”背后——除了创意,还要做到什么?

    天天P图”军装照”活动交出了一份10亿浏览量的答卷,一时间刷屏朋友圈,看到这幕,是不是特别想复制一个如此成功的H5?不过本文不教你如何做一个爆款H5,而是介绍天...

    WeTest质量开放平台团队
  • 在Elasticsearch中查询Term Vectors词条向量信息

    这篇文章有点深度,可能需要一些Lucene或者全文检索的背景。由于我也很久没有看过Lucene了,有些地方理解的不对还请多多指正。 更多内容还请参考整理的E...

    用户1154259
  • 前端面试题库系列(3)

    // 8、javascript是面向对象的,怎么体现javascript的继承关系?用代码写出来

    李才哥
  • 超燃,这是一首专属TEG技术人的MV

    TEG云端专业号

扫码关注云+社区

领取腾讯云代金券