赞
踩
一:创建短信签名和模板
二:创建AccessKey,来使用API
三:使用短信API
四:接下来只需要按照官方文档复制代码就可以运行项目了
核心代码:
导入jar包
- <dependency>
- <groupId>com.aliyun</groupId>
- <artifactId>aliyun-java-sdk-core</artifactId>
- <version>4.5.16</version>
- </dependency>
官网代码
- 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;
-
- public class SendSms {
- public static void main(String[] args) {
- DefaultProfile profile = DefaultProfile.getProfile("ap-northeast-1", "<accessKeyId>", "<accessSecret>");
- IAcsClient client = new DefaultAcsClient(profile);
-
- CommonRequest request = new CommonRequest();
- request.setSysMethod(MethodType.POST);
- request.setSysDomain("dysmsapi.ap-southeast-1.aliyuncs.com");
- request.setSysVersion("2017-05-25");
- request.setSysAction("SendSms");
- request.putQueryParameter("PhoneNumbers", "1503871****");
- request.putQueryParameter("SignName", "阿里大于测试专用");
- request.putQueryParameter("TemplateCode", "SMS_209335004");
- request.putQueryParameter("TemplateParam", "{\"code\":\"1111\"}");
- try {
- CommonResponse response = client.getCommonResponse(request);
- System.out.println(response.getData());
- } catch (ServerException e) {
- e.printStackTrace();
- } catch (ClientException e) {
- e.printStackTrace();
- }
- }
- }

用官网的代码报错
com.aliyuncs.exceptions.ServerException: ServiceUnavailable : The request has failed due to a temporary failure of the server.
RequestId : CF12905D-C736-47B2-9D20-A85C04EBF852
at com.aliyuncs.DefaultAcsClient.getCommonResponse(DefaultAcsClient.java:176)
at cn.itcast.duanxin.SendMsg.main(SendMsg.java:32)
将官网这些代码改成下面的
request.setSysDomain("dysmsapi.aliyuncs.com");
- package cn.itcast.duanxin;
- 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 java.util.UUID;
-
- public class SendMsg {
- public static void main(String[] args) {
- DefaultProfile profile = DefaultProfile.getProfile("ap-northeast-1", "===", "===");
- 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");
- String phone="===";
- request.putQueryParameter("PhoneNumbers", phone);
- request.putQueryParameter("SignName", "===");
- request.putQueryParameter("TemplateCode", "====");
- String msg= UUID.randomUUID().toString().replace("-","").substring(0,6);
- request.putQueryParameter("TemplateParam", "{\"code\":\""+msg+"\"}");
- try {
- CommonResponse response = client.getCommonResponse(request);
- System.out.println(response.getData());
- } catch (ServerException e) {
- e.printStackTrace();
- } catch (ClientException e) {
- e.printStackTrace();
- }
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。