如何使⽤阿⾥巴巴短信服务验证码
关于调⽤阿⾥巴巴短信服务验证的接⼝的⽅法:
⽤户的注册
1.⾸先我们需要在阿⾥⼤于()注册⼀个账号登录
2. 点击进⼊控制台
3. 点击使⽤短信服务微服务在哪里
4. 然后需要你申请签名和模板,⽬前阿⾥⼤于已经不让个⼈⽤户申请,可以通过⾃⼰公司的名义申请,然后选择⼀份需要验证码的格
式
短信接⼝的下载
1. 从阿⾥云通信官⽹上下载Demo⼯程
2. 将⼯程解压后把这两个jar包安装到⾃⼰的本地仓库
3. 安装好后把两个依赖引⼊
4. 最后我们要把这个⽂件夹导⼊我们的编译⼯具就可以使⽤了使⽤官⽅给的接⼝调⽤短信服务
1. 下⾯开始使⽤这个SmsDemo
public class SmsDemo {
/
/产品名称:云通信短信API产品,开发者⽆需替换
//产品名称:云通信短信API产品,开发者⽆需替换
static final String product = "Dysmsapi";
//产品域名,开发者⽆需替换
static final String domain = "dysmsapi.aliyuncs";
// TODO 此处需要替换成开发者⾃⼰的AK(在阿⾥云访问控制台寻)
static final String accessKeyId = "yourAccessKeyId";
static final String accessKeySecret = "yourAccessKeySecret";
public static SendSmsResponse sendSms() throws ClientException {
//可⾃助调整超时时间
System.setProperty("sun.client.defaultConnectTimeout", "10000");
System.setProperty("sun.client.defaultReadTimeout", "10000");
//初始化acsClient,暂不⽀持region化
IClientProfile profile = Profile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
//组装请求对象-具体描述见控制台-⽂档部分内容
SendSmsRequest request = new SendSmsRequest();
//必填:待发送⼿机号
request.setPhoneNumbers("待发送⼿机号");
//必填:短信签名-可在短信控制台中到
request.setSignName("公司名称");
/
/必填:短信模板-可在短信控制台中到
request.setTemplateCode("SMS_1000000");
//可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为 request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");
//选填-上⾏短信扩展码(⽆特殊需求⽤户请忽略此字段)
//request.setSmsUpExtendCode("验证码");
//可选:outId为提供给业务⽅扩展字段,最终在短信回执消息中将此值带回给调⽤者
request.setOutId("yourOutId");
//hint 此处可能会抛出异常,注意catch
SendSmsResponse sendSmsResponse = AcsResponse(request);
return sendSmsResponse;
}
public static QuerySendDetailsResponse querySendDetails(String bizId) throws ClientException {
//可⾃助调整超时时间
System.setProperty("sun.client.defaultConnectTimeout", "10000");
System.setProperty("sun.client.defaultReadTimeout", "10000");
//初始化acsClient,暂不⽀持region化
IClientProfile profile = Profile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
//组装请求对象
QuerySendDetailsRequest request = new QuerySendDetailsRequest();
//必填-号码
request.setPhoneNumber("150********");
//可选-流⽔号
request.setBizId(bizId);
//必填-发送⽇期⽀持30天内记录查询,格式yyyyMMdd
SimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");
request.setSendDate(ft.format(new Date()));
//必填-页⼤⼩
request.setPageSize(10L);
request.setPageSize(10L);
//必填-当前页码从1开始计数
request.setCurrentPage(1L);
/
/hint 此处可能会抛出异常,注意catch
QuerySendDetailsResponse querySendDetailsResponse = AcsResponse(request);
return querySendDetailsResponse;
}
public static void main(String[] args) throws ClientException, InterruptedException {
//发短信
SendSmsResponse response = sendSms();
System.out.println("短信接⼝返回的数据----------------");
System.out.println("Code=" + Code());
System.out.println("Message=" + Message());
System.out.println("RequestId=" + RequestId());
System.out.println("BizId=" + BizId());
Thread.sleep(3000L);
//查明细
Code() != null && Code().equals("OK")) {
QuerySendDetailsResponse querySendDetailsResponse = BizId());
System.out.println("短信明细查询接⼝返回数据----------------");
System.out.println("Code=" + Code());
System.out.println("Message=" + Message());
int i = 0;
for(QuerySendDetailsResponse.SmsSendDetailDTO smsSendDetailDTO : SmsSendDetailDTOs()) {
System.out.println("SmsSendDetailDTO["+i+"]:");
System.out.println("Content=" + Content());
System.out.println("ErrCode=" + ErrCode());
System.out.println("OutId=" + OutId());
System.out.println("PhoneNum=" + PhoneNum());
System.out.println("ReceiveDate=" + ReceiveDate());
System.out.println("SendDate=" + SendDate());
System.out.println("SendStatus=" + SendStatus());
System.out.println("Template=" + TemplateCode());
}
System.out.println("TotalCount=" + TotalCount());
System.out.println("RequestId=" + RequestId());
}
}
}
需要修改的地⽅就是只有五个:
1.必填:待发送⼿机号:此处填写需要的⼿机号码
request.setPhoneNumbers(“待发送⼿机号”);
2.必填:短信签名,填写你在阿⾥⼤于上⾯注册好的公司名称,以哪个公司名义发送
request.setSignName(“公司名称”);
3.必填:短信模板-可在短信控制台中到,选择你定义的短信模板
request.setTemplateCode(“SMS_1000000”);
name,您的验证码为
4./可选:模板中的变量替换JSON串,如模板内容为"亲爱的{code}“时,此处的值为
request.setTemplateParam(”{“name”:“Tom”, “code”:“123”}");
5.选填:写上需要的短信验证码
request.setSmsUpExtendCode(“验证码”);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论