阿里短信服务Java版简单使用

开通短信服务

  1. 申请注册阿里云( https://www.aliyun.com

  2. 搜索短信服务,并开通短信服务
    在这里插入图片描述

  3. 开通短信服务后,进入管理控制台
    在这里插入图片描述

  4. 进入国内消息模块,设置签名、模板
    在这里插入图片描述
    在这里插入图片描述
    注:此处的签名名称、模板CODE在后续的代码调用发送短信时能用到。

  5. 设置AccessKey
    在这里插入图片描述
    在这里插入图片描述
    注:accessKey和密钥是用来做安全验证的。在调用发送短信接口时需要。

短信SDK(Java版)

  1. 点击帮助文档,找到SDK参考里面的使用示例
    在这里插入图片描述

  2. 打开OpenAPI Explorer界面,找到SendSms方法,查看使用示例
    在这里插入图片描述

  3. 查看云产品介绍和API的版本
    在这里插入图片描述
    注:region信息、endpoint信息、API版本在后续的Java代码调用时会使用到。

  4. 新建Java Maven工程,引入短信服务JAR包

    <dependency>
    	<groupId>com.aliyun</groupId>
    	<artifactId>aliyun-java-sdk-core</artifactId>
    	<version>4.1.0</version>
    </dependency>
    
  5. 编写调用代码

    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;
    import com.aliyuncs.profile.IClientProfile;
    
    public class SendSms {
    
    	public static void main(String[] args) {
    		//初始化acsClient
    		IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", "<accessKeyId>", "<accessSecret>");
    		IAcsClient client = new DefaultAcsClient(profile);
    		
    		CommonRequest request = new CommonRequest();
    		//设置传输方式
            request.setMethod(MethodType.POST);
            //设置域名
            request.setDomain("dysmsapi.aliyuncs.com");
            //设置API接口版本
            request.setVersion("2017-05-25");
            //设置调用方法名
            request.setAction("SendSms");
            //设置区域ID(默认为中国杭州)
            request.putQueryParameter("RegionId", "cn-hangzhou");
            
            
            //设置传输的电话号码
            request.putQueryParameter("PhoneNumbers", "******");
            //设置签名名称
            request.putQueryParameter("SignName", "******");
            //设置模板CODE编码
            request.putQueryParameter("TemplateCode", "******");
            //设置模板变量对应的实际值(JSON字符串)
            request.putQueryParameter("TemplateParam", "{\"code\" : \"453214\"}");
            
            try {
            	//发送短信并收到状态信息
                CommonResponse response = client.getCommonResponse(request);
                System.out.println(response.getData());
            } catch (ServerException e) {
                e.printStackTrace();
            } catch (ClientException e) {
                e.printStackTrace();
            }
    	}
    
    }
    

    返回信息内容

    {
        "Message":"OK",
     	"RequestId":"FBF1E1FD-53A3-4816-AFE3-F99519BAAED6",
     	"BizId":"771724386683143345^0",
     	"Code":"OK"
    }
    

    注: BizId :发送回执ID; Code :状态码; Message :状态码描述信息; RequestId :请求ID;


版权声明:本文为u011743790原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。