Java调用腾讯云短信接口,完成验证码的发送(不成功你来砍我!!)
一、前言
我们在一些网站注册页面,经常会见到手机验证码的存在,这些验证码一般的小公司都是去买一些大的厂家的短信服务,自己开发对小公司的成本花费太大了!今天小编就带着大家来学习一下腾讯云的短信接口,体验一下,自己实现!!!
二、准备
小编这里把网站地址给大家 —>腾讯云短信控制台
- 快速入门 —> 开始创建
- 签名管理 —>完善信息(要有备案的域名或者APP)
- 正文模板管理 —>创建正文模板
- 快速入门 —>查看成功
- 应用列表 —>SDK AppID和App Key(重要,后面要用)
- 正文模板管理 —> 模板ID(重要,后面要用)
- 签名管理 —> 内容(重要,后面要用)
三、导入依赖
<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>
</dependency>
四、运行代码
import cn.hutool.json.JSONException;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import java.io.IOException;
public class Message {
public static void main(String[] args) {
Message message = new Message();
//输入要发送的手机号
message.sendMessage("手机号码");
}
// 短信应用SDK AppID --- 对应二、准备的5
int appid = 1400009099; // 1400开头
// 短信应用SDK AppKey --- 对应二、准备的5
String appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad";
// 短信模板 ID,需要在短信应用中申请 --- 对应二、准备的6
int templateId = 7839; // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请
// 签名 --- 对应二、准备的7
String smsSign = "腾讯云"; // NOTE: 这里的签名"腾讯云"只是一个示例,真实的签名需要在短信控制台中申请,另外签名参数使用的是`签名内容`,而不是`签名ID`
/**
* 腾讯云发送短信验证码
* @param phoneNumber 需要发送给哪个手机号码
*
*/
public void sendMessage(String phoneNumber) {
try{
// 我们随机生成四位随机数
String verificationCode = (int) ((Math.random() * 9 + 1) * 1000) + "";
// 数组具体的元素个数和模板中变量个数必须一致 我的模板中需要填写验证码和有效时间,{1},{2}
String[] params = {verificationCode , "5"};
SmsSingleSender singleSender = new SmsSingleSender(appid, appkey);
SmsSingleSenderResult result = singleSender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
System.out.println("result --->" + result);
} catch (HTTPException e) {
// HTTP 响应码错误
e.printStackTrace();
} catch (JSONException e) {
// JSON 解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络 IO 错误
e.printStackTrace();
}
}
}
五、运行结果
六、总结
本次小编只是实现可以发送成功,仅供刚刚入门的童鞋学习参考.大家可以去官方API文档去看,里面会有很多种类型,小编的代码也是从上面copy下来的!!
官网文档API —>腾讯云官方API文档