开通短信服务
-
申请注册阿里云( https://www.aliyun.com )
-
搜索短信服务,并开通短信服务
-
开通短信服务后,进入管理控制台
-
进入国内消息模块,设置签名、模板
注:此处的签名名称、模板CODE在后续的代码调用发送短信时能用到。 -
设置AccessKey
注:accessKey和密钥是用来做安全验证的。在调用发送短信接口时需要。
短信SDK(Java版)
-
点击帮助文档,找到SDK参考里面的使用示例
-
打开OpenAPI Explorer界面,找到SendSms方法,查看使用示例
-
查看云产品介绍和API的版本
注:region信息、endpoint信息、API版本在后续的Java代码调用时会使用到。 -
新建Java Maven工程,引入短信服务JAR包
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.1.0</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; 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;