这篇文章主要介绍了Java调用腾讯云短信API接口的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言
有想使用短信API服务的朋友可以如果没有注册腾讯云的话可以注册一下,好像新用户可以免费领取100条短信服务(PS:绝对不是打广告)
登陆腾讯云的平台https://cloud.tencent.com/,登陆成功后搜索短信,进入短信产品的控制台,进入短信平台后,需要创建签名和创建正文模板。
1.创建签名模板
2.创建正文模板
这两步都需要审核,按照指引填写即可,一般时间会在2小时左右.
当你的签名审核通过后,在控制台可以看到签名的id和签名的内容,其中签名的内容在后续的开发中会用到。
短信正文审核通过后,可以看到模版的ID和模版的内容,模版的内容可以用占位符{xx},比如以下的短信正文模版:
上面的模版含有2个参数,在后续会有用到。
二、创建应用
在短信平台中的应用管理里创建应用,创建成功后,有个SDK AppID,这个在会用到
三、创建secretId和secretKey
这两个是调用API的权限,所以这两个应高度保密,可以:申请secretId
四、进行开发
导入maven依赖
com.tencentcloudapitencentcloud-sdk-java3.0.112
具体代码
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文档