前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java对接腾讯云短信,通过api发送短信

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

原创
作者头像
方志朋
修改2019-12-10 15:10:59
55.2K1
修改2019-12-10 15:10:59
举报

简介

腾讯云短信(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。

代码语言:txt
复制
<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>

代码实现:

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

代码语言:txt
复制
 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();
        }

    }

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 腾讯云短信平台的操作
    • 创建短信签名和模版
      • 创建应用
        • 创建secretId和secretKey
          • 购买短信包
          • sdk开发
          相关产品与服务
          短信
          腾讯云短信(Short Message Service,SMS)可为广大企业级用户提供稳定可靠,安全合规的短信触达服务。用户可快速接入,调用 API / SDK 或者通过控制台即可发送,支持发送验证码、通知类短信和营销短信。国内验证短信秒级触达,99%到达率;国际/港澳台短信覆盖全球200+国家/地区,全球多服务站点,稳定可靠。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档