前提条件
-
注册阿里大于(原名阿里大鱼),注册地址如下
-
登录后前往应用管理 >> 应用列表 >> 创建你的应用
-
创建好应用之后点击设置按钮进入设置页面找到你的appkey 和 appSecret
-
进入配置管理 >>验证码
配置好短信签名和短信模板,这个需要审核,请等待审核通过。 请记录好配置的签名名称,我这里举个例子是 “个人” 点击配置短信模板申请模板并等待审核,审核通过后请记录好模板ID 至此阿里大于服务器端配置完成。
下面开始代码上的准备
1.java sdk下载,到官网下载即可
2.把下载的jar包 安装到 maven仓库
我是安装到E盘,这个看自己
mvn install:install-file -Dfile=E:\taobao-sdk-java-auto_1455552377940-20160607.jar -DgroupId=com.taobao -DartifactId=taobao-api -Dversion=1.0.0.RELEASE -Dpackaging=jar
3.配置pom文件
<!-- 阿里短信 -->
<dependency> <groupId>com.taobao</groupId> <artifactId>taobao-api</artifactId> <version>1.0.0.RELEASE</version> </dependency>
最后看代码
package com.app.test;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient; import com.taobao.api.TaobaoClient; import com.taobao.api.request.AlibabaAliqinFcSmsNumSendRequest; import com.taobao.api.response.AlibabaAliqinFcSmsNumSendResponse;public class SendMsgDemo {
/** 短信接口的请求地址---正式环境 */ public static final String SMS_REQUEST_URL = "https://eco.taobao.com/router/rest"; //沙箱环境 https://gw.api.tbsandbox.com/router/rest /** ################# 需要根据情况填写下面的属性 #################### */ /** 应用的Key */ private static final String APP_KEY = " "; /** 应用的签名 */ private static final String APP_SECRET = " "; /** 短信签名 */ private static final String SMS_FREE_SIGN_NAME = "身份验证"; /** 短信模板ID ---身份验证 */ private static final String SMS_TEMPLATE_CODE = "SMS_59905131"; public static void main(String[] args) throws ApiException { String phone = "15139911765"; String code = "8888"; sendMsg(phone,code); } public static Boolean sendMsg(String phone,String code) { /** * 创建淘宝客户端 参数一:请求URL(短信接口的请求地址) 参数二:应用的Key 参数三:应用的签名 * 方法里面的参数用常量定义。可以随时改 */ TaobaoClient client = new DefaultTaobaoClient(SMS_REQUEST_URL, APP_KEY, APP_SECRET); /** 构建短信发送请求对象 */ AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest(); /** ######################### 封装请求参数 ############################ */ /** * 公共回传参数,在“消息返回”中会透传回该参数;举例:用户可以传入自己下级的会员ID, * 在消息返回时,该会员ID会包含在内,用户可以根据该会员ID识别是哪位会员使用了你的应用 (可选) */ req.setExtend("雅鑫-成功传来消息"); /** * 短信类型,传入值请填写normal (必须) */ req.setSmsType("normal"); /** * 短信模板ID,传入的模板必须是在阿里大于“管理中心-短信模板管理”中的可用模板。 示例:SMS_59905131 (必须) */ req.setSmsTemplateCode(SMS_TEMPLATE_CODE); /** * 短信模板变量,传参规则{"key":"value"},key的名字须和申请模板中的变量名一致,多个变量之间以逗号隔开。 * 示例:针对模板“验证码${code},您正在进行${product}身份验证,打死不要告诉别人哦!”, * 传参时需传入{"code":"1234","product":"alidayu"} * 验证码${number},您正进行身份验证,打死不告诉别人! (可选) */ req.setSmsParamString("{\"code\":\"" + code + "\",\"product\":\"张雅鑫\"}"); req.setRecNum(phone); /** * 短信签名,传入的短信签名必须是在阿里大于“管理中心-短信签名管理”中的可用签名。 * 如“阿里大于”已在短信签名管理中通过审核,则可传入”阿里大于“(传参时去掉引号)作为短信签名。 * 短信效果示例:【阿里大于】欢迎使用阿里大于服务。 (必须) */ req.setSmsFreeSignName(SMS_FREE_SIGN_NAME); try { AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req); System.out.println(rsp.getBody()); //短信发送成功 Success = true System.out.println(rsp.getResult().getSuccess()); //短信发送成功 ErrCode = 0 System.out.println(rsp.getResult().getErrCode()); //返回 return rsp.getResult().getSuccess(); } catch (ApiException e) { e.printStackTrace(); } return null; } }手机号和验证码两个参数 到时候自己传,操作数据库的就不说了...