本文介绍如何使用SDK调用OpenAPI接口,向指定手机号发送一条测试短信。
步骤一:查看OpenAPI文档
在调用OpenAPI前,建议您先阅读对应的接口文档SendSms,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览。
步骤二:创建RAM用户并完成授权
重要
阿里云主账号拥有较高权限,建议您通过RAM用户进行API调用和日常运维。有关RAM用户的更多信息,请参见RAM用户概览。
创建RAM用户
为RAM用户授权
步骤三:调用OpenAPI
SDK是最易于集成,且支持度最好的OpenAPI调用方式。本文以Java语言SDK调用OpenAPI,其他语言SDK的用法类似,更多信息请参见短信服务SDK。
使用前配置
请检查您的Java版本是否高于Java 8。Java环境配置的方法,请参见在Windows搭建Java开发环境。
请通过配置Maven依赖,完成SDK的安装。
<dependency> <groupId>com.aliyun</groupId> <artifactId>dysmsapi20170525</artifactId> <version>3.0.0</version> </dependency>
请配置环境变量,通过环境变量读取访问密钥(AccessKey)。环境变量配置方法,请参见在Linux、macOS和Windows系统配置环境变量。
说明为避免在代码中硬编码AccessKey而造成泄露,请通过配置环境变量的方式,来获取AccessKey。
本文以环境变量名
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
为例,进行后续操作。
代码示例
使用SDK调用发送短信API的代码示例如下,请根据注释完成参数填写。
package com.aliyun.sample;
import com.aliyun.teaopenapi.models.Config;
import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import static com.aliyun.teautil.Common.toJSONString;
public class Sample {
public static Client createClient() throws Exception {
Config config = new Config()
// 配置 AccessKey ID,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
.setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
// 配置 AccessKey Secret,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// 配置 Endpoint
config.endpoint = "dysmsapi.aliyuncs.com";
return new Client(config);
}
public static void main(String[] args) throws Exception {
// 初始化请求客户端
Client client = Sample.createClient();
// 构造请求对象,请填入请求参数值
SendSmsRequest sendSmsRequest = new SendSmsRequest()
.setPhoneNumbers("1390000****")
.setSignName("阿里云")
.setTemplateCode("SMS_15305****")
.setTemplateParam("{\"name\":\"张三\",\"number\":\"1390000****\"}");
// 获取响应对象
SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
// 响应包含服务端响应的 body 和 headers
System.out.println(toJSONString(sendSmsResponse));
}
}
您也可以下载示例代码,直接运行。
下载示例代码
运行项目
项目运行后可查看到输出,本示例中的返回内容如下:
{
"headers": {
"access-control-allow-origin": "*",
"date": "Mon, 17 Jul 2023 16:21:50 GMT",
"content-length": "110",
"keep-alive": "timeout=25",
"x-acs-request-id": "F59B3F78-D9CD-5D01-A9CC-AE5C921ED9C0",
"connection": "keep-alive",
"content-type": "application/json;charset=utf-8",
"etag": "1MzEw7RSXKXTkIJ1thYGmCw0",
"access-control-expose-headers": "*",
"x-acs-trace-id": "5ecfe30b412fb6e09a86d651ccbe13db"
},
"statusCode": 200,
"body": {
"bizId": "695425589610909881^0",
"code": "OK",
"message": "OK",
"requestId": "F59B3F78-D9CD-5D01-A9CC-AE5C921ED9C0"
}
}
常见问题
视频介绍
文档内容是否对您有帮助?