注意:个人无法使用此功能,因为个人申请使用是不会通过的
文档流程
短信服务API概览
点击后,可以看到需要的参数和准备,在最下面点击 短信发送API(SendSms)—Java
最下面有一个小demo供参考
快速入门
也可从快速入门看快速入门
里面讲述了客户端创建和需要导的依赖
依赖
添加pom依赖,推荐使用新版的sdk
新版的sdk及maven依赖
SDK概述
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>Use the version shown in the maven badge</version>
</dependency>
准备工作
1.AccessKeyId和AccessKeySecret获取:
创建AccessKey
创建AccessKey
这里介绍查看自己的主账号AccessKey
短信服务控制台
个人无法使用短信服务,及无法创建。因为没有资质
2.首先创建短信签名
3.添加模板
创建好后就可以得到之后发送短信所需的接口需要提供的参数
发送短信代码示例:
https://help.aliyun.com/document_detail/112148.htm?spm=a2c4g.11186623.0.0.6ccc3e06Qq1kRZ#concept-mlr-q2b-fhb
https://next.api.aliyun.com/api/Dysmsapi/2017-05-25/SendSms?params={}&tab=DEMO&lang=JAVA
构建的client客户端的接口调用/API概览
SendSms - 发送短信
因为我用的是SendSms 接口,故点进去看需要什么参数,根据需要从我们刚才创建的签名和模板获取
需要注意setTemplateParam的配置
完整代码:
package com.xunan.ali;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.teaopenapi.models.Config;
public class AliYunMessageUtils {
private static com.aliyun.dysmsapi20170525.Client aliYunClient = null;
final static String SignName = "xxx";
final static String TemplateCode = "xxx";
/**
* @return 初始化的AliyunClient对象
*/
private static com.aliyun.dysmsapi20170525.Client getClient() throws Exception {
if (aliYunClient == null) {
Config config = new Config()
// 您的AccessKey ID
.setAccessKeyId("xxx")
// 您的AccessKey Secret
.setAccessKeySecret("xxx");
// 访问的域名
config.endpoint = "dysmsapi.aliyuncs.com";
aliYunClient = new com.aliyun.dysmsapi20170525.Client(config);
}
return aliYunClient;
}
/**
* 发送短信
*
* @param contact 电话号码
*/
public static void sendMessage(String contact) throws Exception {
if (contact == null || contact.isEmpty()) {
return;
}
com.aliyun.dysmsapi20170525.Client client = AliYunMessageUtils.getClient();
//短信内容中可能需要传递的参数
String param1 = "xxx";
String param2 = "xxx";
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setPhoneNumbers(contact)
.setSignName(SignName)
.setTemplateCode(TemplateCode)
.setTemplateParam("{\"param1\":\"" + param1
+ "\",\"param2\":\"" + param2 + "\"}");
// 复制代码运行请自行打印 API 的返回值
client.sendSms(sendSmsRequest);
}
}