阿里云短信验证(代码)demo完整教程

前言:

使用阿里云短信服务的前提你得有阿里云账号(我简直在说废话)没有得话就去注册一个 注册后登陆

教程开始:

阿里云上面有官方得文档以及Demo&SDK,为什么我还要写这篇播客呢,因为上面的文档说的太过于官方,可能第一步你都不知道该怎么做 所以我就写呢这篇播客

 登陆进去右边点击产品与服务 按照上图操作可以开通短信服务 当然开通这个短信服务是免费的,但是发短信就要收费了

 开通后就要进行充值了

充值

好吧,我进去的时候弄到一张免费的十块钱短信券,可以免费试用,我开始不知道它是直接扣费的,我就冲了2块钱进去,最后没想到10块钱券可以直接发短信,所以有没有看你了,自己冲一点玩玩吧。反正也不是很贵少喝两瓶饮料的钱,玩一下

你充值过后可以发短信了?当然不是

你要申请 签名和模板

先说签名的申请

 下面申请模板

 申请通过后可以点击详情看到类似下面的内容

 后面代码会用到!

然后 创建access key  (很重要) 看下面图片

点击红色框中 获取 Access key

 

请点击此处输入图片描述

按照要求创建完以后,我们准备工作就全部搞定了,然后就是实际运行测试了

下面就开始撸代码了

当然你可以看官方的文档教程

点进去就可以看到了

下面开始我的教程 

1、创建一个maven工程 创建一个类

编写样例程序  官方代码 

在这之前需要导入maven依赖当然我也给你准备了 你只管复制粘贴就行

<dependencies>
    <!-- https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core -->
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-core</artifactId>
        <version>4.0.8</version>
    </dependency>
    <dependency>
        <groupId>com.aliyun</groupId>
        <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
        <version>1.1.0</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
    <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>2.8.4</version>
    </dependency>
</dependencies>

复制下来复制到你创建的类中

​
//设置超时时间-可自行调整
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化ascClient需要的几个参数
final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
//替换成你的AK
final String accessKeyId = "yourAccessKeyId";//你的accessKeyId,参考本文档步骤2
final String accessKeySecret = "yourAccessKeySecret";//你的accessKeySecret,参考本文档步骤2
//初始化ascClient,暂时不支持多region(请勿修改)
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
accessKeySecret);
DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
IAcsClient acsClient = new DefaultAcsClient(profile);
 //组装请求对象
 SendSmsRequest request = new SendSmsRequest();
 //使用post提交
 request.setMethod(MethodType.POST);
 //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000”
 request.setPhoneNumbers("1500000000");
 //必填:短信签名-可在短信控制台中找到
 request.setSignName("云通信");
 //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
 request.setTemplateCode("SMS_1000000");
 //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
 //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
 request.setTemplateParam("{\"name\":\"Tom\", \"code\":\"123\"}");
 //可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
 //request.setSmsUpExtendCode("90997");
 //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
 request.setOutId("yourOutId");
//请求失败这里会抛ClientException异常
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
//请求成功
}

​

下面我截图我的代码以及说明需要修改的地方

如果你图片看不懂那么我附上我的代码 我的代码可以随机生成6位随机数

public class dd {
    public static void main(String[] args) throws ClientException {
        //随机生成六位随机数
        StringBuffer stringBuffer=new StringBuffer();
        for (int x=0;x<=5;x++) {
            int random = (int) (Math.random() * (10 - 1));
            stringBuffer.append(random);
        }
        String string = stringBuffer.toString();
        int i = Integer.parseInt(string);
//        System.out.println(i);
        //设置超时时间-可自行调整
        System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
        System.setProperty("sun.net.client.defaultReadTimeout", "10000");
//初始化ascClient需要的几个参数
        final String product = "Dysmsapi";//短信API产品名称(短信产品名固定,无需修改)
        final String domain = "dysmsapi.aliyuncs.com";//短信API产品域名(接口地址固定,无需修改)
//替换成你的AK
        final String accessKeyId = "LTAIhbdKGluLaFhY";//你的accessKeyId,参考本文档步骤2
        final String accessKeySecret = "gt7DdJEk6j8Xh4p5VlfbTuU7XUt6jCc3";//你的accessKeySecret,参考本文档步骤2
//初始化ascClient,暂时不支持多region(请勿修改)
        IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,
                accessKeySecret);
        DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);
        IAcsClient acsClient = new DefaultAcsClient(profile);
        //组装请求对象
        SendSmsRequest request = new SendSmsRequest();
        //使用post提交
        request.setMethod(MethodType.POST);
        //必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式;发送国际/港澳台消息时,接收号码格式为00+国际区号+号码,如“0085200000000”
        request.setPhoneNumbers("176dxxxxxx");
        //必填:短信签名-可在短信控制台中找到
        request.setSignName("短信测试");
        //必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
        request.setTemplateCode("SMS_1283852506");
        //可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为
        //友情提示:如果JSON中需要带换行符,请参照标准的JSON协议对换行符的要求,比如短信内容中包含\r\n的情况在JSON中需要表示成\\r\\n,否则会导致JSON在服务端解析失败
        request.setTemplateParam("{\"customer\":\""+i+"\"}");
        //可选-上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
        //request.setSmsUpExtendCode("90997");
        //可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者
        request.setOutId("yourOutId");
//请求失败这里会抛ClientException异常
        SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
        if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
//
            System.out.println("OK");
        }
    }
}

当然图片上打马赛克的地方我代码里面都是错的 改成你自己的

到此结束

  • 34
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
要将 MCGS 接入已有的阿里云物联网平台,你可以按照以下步骤进行操作: 1. 在阿里云控制台中,进入物联网平台,并创建一个新的项目。 2. 在项目中创建产品和设备。产品定义了设备的功能和属性,设备是实际的物理设备。 3. 在产品中定义数据模板,包括属性、事件和服务。这将决定你能够在阿里云平台上与设备进行的操作。 4. 在设备端,根据 MCGS 的通信协议,编写代码来实现设备与阿里云之间的通信。你需要使用设备 SDK 来连接到阿里云物联网平台,并根据数据模板来处理属性上报、事件触发等操作。 5. 在设备端代码中,与 MCGS 进行通信,获取触摸屏的数据,并将其转发到阿里云物联网平台。 6. 在阿里云控制台中,配置规则引擎和数据流转等功能,以便根据设备上报的数据进行相应的处理和控制。 具体步骤和代码实现会根据 MCGS 的通信协议和阿里云物联网平台的要求而有所不同。你可以参考阿里云物联网平台的官方文档和示例代码来了解更多详细信息,例如: - 阿里云物联网平台开发指南:https://help.aliyun.com/document_detail/73742.html - 阿里云物联网平台 SDK 开发文档:https://help.aliyun.com/document_detail/73743.html - 阿里云物联网平台 Demo 示例:https://github.com/aliyun/iotkit-embedded 希望这些信息能够帮助你开始将 MCGS 接入已有的阿里云物联网平台!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值