200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 腾讯云短信申请与接入流程- java开发-短信验证码

腾讯云短信申请与接入流程- java开发-短信验证码

时间:2022-07-30 05:10:32

相关推荐

腾讯云短信申请与接入流程- java开发-短信验证码

腾讯云短信平台每月赠送100条免费短信,相对来说用于开发还是挺不错的,并且像这样的大平台提供的服务也是相对稳定的。

1.打开腾讯云控制台-短信

https://console./sms/smslist

2.选择添加应用,打开后输入相应的内容即可,一句话描述一下你的应用即可

3.添加成功后,点击应用的标题进入详情页面,在这里你可以看见你的appid(SDK AppID)和appkey(App Key)

4.申请一个短信签名,短信签名是指每次短信中用括号括起来的部分,比如移动发来的短信每次都会有【中国移动】

签名类型选适合自己的,然后上传对应的资料即可

在签名创建成果后,再切换到短信正文,添加短信正文,审核通过后就能正常使用了。

SDK官方引入教程:

/document/product/382/13613

最后分享一个自用工具类

SmsUtil .java

import com.github.qcloudsms.SmsSingleSender;import com.github.qcloudsms.SmsSingleSenderResult;import com.github.qcloudsms.httpclient.HTTPException;import com.xiaobao.pojo.Msg;import org.json.JSONException;import org.json.JSONObject;import javax.json.Json;import java.io.IOException;import java.io.InputStream;import java.util.Properties;public abstract class SmsUtil {// 短信应用SDK AppIDint appid = 0; // 1400开头// 短信应用SDK AppKeyString appkey ="" ;// 短信模板ID,需要在短信应用中申请int templateId = 0; // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请// 签名String smsSign = "腾讯云"; // NOTE: 这里的签名"腾讯云"只是一个示例,真实的签名需要在短信控制台中申请,另外签名参数使用的是`签名内容`,而不是`签名ID`public Msg sendMsg(String phone, int code) {Msg msg = new Msg();msg.setCode(1001);try {String[] params = {code + "", 5 + ""};//数组具体的元素个数和模板中变量个数必须一致,例如事例中templateId:5678对应一个变量,参数数组中元素个数也必须是一个SmsSingleSender ssender = new SmsSingleSender(appid, appkey);SmsSingleSenderResult result = ssender.sendWithParam("86", phone,templateId, params, smsSign, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信//System.out.println(result);JSONObject jsonObject = new JSONObject(result.toString());int recode = jsonObject.getInt("result");switch (recode) {case 0:msg.setCode(1000);msg.setMsg("短信验证码发送成功!");success();break;case 1016:msg.setCode(1016);msg.setMsg("手机号格式错误!");break;case 1023:msg.setCode(1023);msg.setMsg("请在60s后重试!");//30s内短信已达上限!break;case 1024:msg.setCode(1024);msg.setMsg("请在1小时后重试!");//1小时内短信已达上限break;default:msg.setCode(1001);msg.setMsg("错误码" + recode + ",请带上您的错误码反馈给客服");}// msg.setMsg(result.toString());} catch (HTTPException e) {// HTTP响应码错误e.printStackTrace();msg.setMsg("HTTP响应码错误");} catch (JSONException e) {// json解析错误e.printStackTrace();msg.setMsg("json解析错误!");} catch (IOException e) {// 网络IO错误e.printStackTrace();msg.setMsg("网络IO错误!");}return msg;}public abstract void success();}

msg.java

package com.xiaobao.pojo;//消息public class Msg {private int code;private String msg;private Object body;public Msg() {this.code = 101;this.msg = "系统未知错误!";}public Msg(int code, String msg) {this.code = code;this.msg = msg;}public Msg(int code, String msg, Object body) {this.code = code;this.msg = msg;this.body = body;}public int getCode() {return code;}public void setCode(int code) {this.code = code;}public String getMsg() {return msg;}public void setMsg(String msg) {this.msg = msg;}public Object getBody() {return body;}public void setBody(Object body) {this.body = body;}@Overridepublic String toString() {return "Msg{" +"code=" + code +", msg='" + msg + '\'' +", body=" + body +'}';}}

调用演示

SmsUtil smsUtil = new SmsUtil() {@Overridepublic void success() {//验证码发送成功处理的操作 比如将发送信息保存数据库}};Msg msg=smsUtil.sendMsg("155667788",5523 );

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。