Java调用腾讯云短信API接口的实现

所属分类: 软件编程 / java 阅读数: 72
收藏 0 赞 0 分享

前言

有想使用短信API服务的朋友可以如果没有注册腾讯云的话可以注册一下,好像新用户可以免费领取100条短信服务(PS:绝对不是打广告)

一、登录腾讯云操作平台

登陆腾讯云的平台https://cloud.tencent.com/,登陆成功后搜索短信,进入短信产品的控制台,进入短信平台后,需要创建签名和创建正文模板。

1.创建签名模板


2.创建正文模板


这两步都需要审核,按照指引填写即可,一般时间会在2小时左右.

当你的签名审核通过后,在控制台可以看到签名的id和签名的内容,其中签名的内容在后续的开发中会用到。

短信正文审核通过后,可以看到模版的ID和模版的内容,模版的内容可以用占位符{xx},比如以下的短信正文模版:

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

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

二、创建应用

在短信平台中的应用管理里创建应用,创建成功后,有个SDK AppID,这个在会用到

三、创建secretId和secretKey

这两个是调用API的权限,所以这两个应高度保密,可以:申请secretId

四、进行开发

导入maven依赖

<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. -->
    <version>3.0.112</version>
</dependency>

具体代码

String appid = "xxx"; //你创建的应用AppID
    String phone = "xxxx"; //手机号码,注意如果是国内的手机号码需要加86不然会报错
    int templated = 1234; //你的正文模板ID
    String smsSign = "xxx"; //你的签名模板中的内容,不是签名ID
    final String url = "https://yun.tim.qq.com/v3/tlssmssvr/sendsms"; //请求地址
    // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,
    Credential cred = new Credential("xxxxx",
        "xxxx");

    // 实例化要请求产品(以cvm为例)的client对象
    ClientProfile clientProfile = new ClientProfile();
    clientProfile.setSignMethod(ClientProfile.SIGN_TC3_256);
    SmsClient smsClient = new SmsClient(cred, "ap-qingdao");//第一个是认证对象,第二个填产品所在的区
    //添加请求参数
    SendSmsRequest sendSmsRequest = new SendSmsRequest();
    sendSmsRequest.setSmsSdkAppid(appid);//appId
    String[] phones={phone}; //发送短信的目标手机号,可填多个,我这就是使用一个因为是单发
    sendSmsRequest.setPhoneNumberSet(phones);
    sendSmsRequest.setTemplateID(templated+""); //模版id
    String [] templateParam={"952700"};//模版参数,从前往后对应的是模版的{1}、{2},可以传多个用逗号隔开
    sendSmsRequest.setTemplateParamSet(templateParam);
    sendSmsRequest.setSign(smsSign); //签名内容,不是填签名id
    try {
      SendSmsResponse sendSmsResponse= smsClient.SendSms(sendSmsRequest); //发送短信
      System.out.println(sendSmsResponse.toString());
      return ResultApi.ResultAll(ResultCodeInfoEnum.SUCCESS_MSG, sendSmsResponse);
    } catch (TencentCloudSDKException e) {
      e.printStackTrace();
    }
    return null;

成功的请求结果:


接口API开发指南:腾讯云接口API

SDK文档:SDK文档

更多精彩内容其他人还在看

SpringBoot中使用Ehcache的详细教程

EhCache 是一个纯 Java 的进程内缓存框架,具有快速、精干等特点,是 Hibernate 中默认的 CacheProvider。这篇文章主要介绍了SpringBoot中使用Ehcache的相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

在idea 中添加和删除模块Module操作

这篇文章主要介绍了在idea 中添加和删除模块Module操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

java spring整合junit操作(有详细的分析过程)

这篇文章主要介绍了java spring整合junit操作(有详细的分析过程),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详解JAVA 弱引用

这篇文章主要介绍了 JAVA 弱引用的相关资料,帮助大家更好的理解和学习java引用对象,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

深入了解JAVA 虚引用

这篇文章主要介绍了JAVA 虚引用的相关资料,帮助大家更好的理解和学习JAVA,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解JAVA 强引用

这篇文章主要介绍了JAVA 强引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

java中的按位与(&)用法说明

这篇文章主要介绍了java中的按位与(&)用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
收藏 0 赞 0 分享

深入了解JAVA 软引用

这篇文章主要介绍了JAVA 软引用的相关资料,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

利用MyBatis实现条件查询的方法汇总

这篇文章主要给大家介绍了关于利用MyBatis实现条件查询的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用MyBatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
收藏 0 赞 0 分享

Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.PathTranslator was bound

这篇文章主要介绍了Intellij IDEA 与maven 版本不符 Unable to import maven project See logs for details: No implementation for org.apache.maven.model.path.Pa
收藏 0 赞 0 分享
查看更多