####由于业务需求,需要发送短信验证,于是捣鼓了一上午,也在网上看了别人的案例,现整理分享下。
- 短信发送API:https://api.alidayu.com/doc2/apiDetail.htm?spm=a3142.7395905.4.6.9hYSEi&apiId=25450。
####一、登陆阿里大于平台配置相关信息
-
点击阿里大于的官网:https://www.alidayu.com/ ,出现如下界面,然后点击管理中心,使用淘宝账号登陆。
-
在应用管理–应用列表–添加应用。然后拿到你的APP证书的KEY和SECRET。(后面代码中会用到)
-
登录账号之后点击配置管理–验证码–配置短信签名–添加签名。等待审核!审核通过后拿到你的短信签名。我的短信签名是“验证提醒”。
-
在上一步操作完之后点击配置短信签名相邻的配置短信模板–添加短信模板,等待审核!审核通过后就可以用短信模板和模板ID了。
-
我的模板ID是SMS_34530098,短信模板是:验证码
$(code)
,您正在注册成为${product}
的用户,感谢您的支持!
-
.最后一步就是要下载调用API的jar了。请点击:http://download.csdn.net/detail/cool_summer_moon/9711726
-
最后一步就是写代码测试了:
@Test
public void sendMobileCode() {
String rusult = null;
// 官网的URL
String url = "http://gw.api.taobao.com/router/rest";
// 成为开发者,创建应用后系统自动生成
String appkey = "23566780";
String secret = "自己的App Secret";
String code = "520";
String product = "cool_moon";
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
req.setExtend("1234");
req.setSmsType("normal");
req.setSmsFreeSignName("验证提醒");
req.setSmsParamString("{\"code\":\""+code+"\",\"product\":\""+product+"\"}");
req.setRecNum("自己的手机号码");
req.setSmsTemplateCode("SMS_34530098");
try {
AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
System.out.println(rsp.getBody());
rusult = rsp.getSubMsg();
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(rusult);
}
由于我是测试环境下,没有带参数,开发时只要传入验证码和手机号,就可以实现短信验证了,我的验证码:
####分隔符=
下面是下载的jar包导入maven工程的方法。
我是用的cmder工具,这个工具堪称神器,是cmd的加强版。不多说,贴代码:
mvn install:install-file -DgroupId=org.taobao.sdkjava -DartifactId=taobao-source -Dversion=1.0 -Dpackaging=jar -Dfile=E:/mycode/taobao-sdk-java-auto_1455552377940-20160607-source.jar
运行上面命令,即可将jar包导入本地maven仓库(两个jar分两次导入),然后再项目的pom.xml中加上下面代码:
<dependency>
<groupId>org.taobao.sdkjava</groupId>
<artifactId>taobao-core</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.taobao.sdkjava</groupId>
<artifactId>taobao-source</artifactId>
<version>1.0</version>
</dependency>
解释下:
<!--被继承的父项目的构件标识符 -->
-DgroupId 命令对应 <artifactId>
<!--被继承的父项目的全球唯一标识符 -->
-DartifactId 命令对应 <groupId>
<!--被继承的父项目的版本 -->
-Dversion 命令对应 <version>
-Dfile 需要导入maven本地仓库对应的jar包路径
有啥问题欢迎探讨哈