阿里云短信验证服务

阿里云短信服务

阿里云短信服务

登陆 阿里云控制台 ,将鼠标放在右上角的头像上,点击 AccessKey 管理

1.png

点击 开始使用子账户AccessKey

2.png

进入页面后,点击左边侧边栏的用户组,点击创建用户组

3.png

填上信息(随意填)

4.png

点击 添加权限

25.png

搜索sms,点击 AliyunDysmsFullAccess , 点击确定

5.png

再点击左边菜单栏的用户,点击创建用户

6.png

输入登录名称和显示名称,把 编程访问点选上

7.png

点击确定,就会获得 AccessKey ID 和 AccessKey Secret 信息 不要告诉其他人!!

8.png

AccessKey Secret 只有一次机会保存到本地! 只有一次!!只有一次!!!不作不死!!!大家可以选择【下载 CSV 文件】到本地(推荐的做法)

开启阿里云短信服务

回到 阿里云控制台 ,搜索【短信】, 点击 【短信服务】

9.png

点击左边菜单栏的【帮助文档】(建议大家保存网址)

10.png

点击 【开始学习】,了解计费方式

11.png

设置签名

点击【国内消息设置】,可以进行一些基本的设置(仅对企业认证的用户有效)

12.png

点击【国内消息】,我们开始设置签名

13.png

注意,这步操作需要一点钱,一块钱就行,建议提前充值

14.png

我们继续回到设置签名的一步,把信息填上

15.png

审核大约需要数个小时,请耐心等待。。。

在这过程中,我们可以添加模板

添加短信模板

点击模板管理,点击添加模板

16.png

把信息填上

17.png
审核仍然需要时间,耐心等待。。。

编写测试代码

回到开始学习界面,点击查看API Demo

18.png

可以看到,已经给了包括 python 和 PHP 的多个示例代码,我们这里以 Java Spring Boot 为例,点击右上角的Java SDK 使用说明

19.png

该文档给出了详细的解决方案,第一步是导入 maven 依赖

20.png

 <dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.4.6</version>
</dependency>
<dependency>
     <groupId>com.aliyun</groupId>
     <artifactId>aliyun-java-sdk-ecs</artifactId>
     <version>4.17.6</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    <version>2.2.6.RELEASE</version>
</dependency>

新建一个 SpringBoot 工程(这里不再演示),导入 maven 依赖

21.png

然后我们开始调试测试样例,把官方给的代码复制过来:

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
/*
pom.xml
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.0.3</version>
</dependency>
*/
public class SendSms {
    public static void main(String[] args) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<Access ID>", "<AccessSecret>");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("PhoneNumbers", "<手机号>");
        request.putQueryParameter("SignName", "<签名名称>");
        request.putQueryParameter("TemplateCode", "<模板Code>");
        
        HashMap<String, Object> map = new HashMap<>();
        map.put("code",1314);
        request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map));
        
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
}

在单元测试中,输入以上代码

22.png

导入阿里云相关Class, 并把之前获得的AccessToken IDAccessToken Secreat填入相应位置

签名名称获取方法:

23.png

模板 Code 获取方法:

24.png

当一切都配置完毕,即可启动项目测试。