本文介绍如何使用OpenAPI调用SendMessageToGlobe接口向指定手机号发送短信。
步骤一:查看OpenAPI文档
在调用OpenAPI前,建议您先阅读对应的接口文档SendMessageToGlobe,了解、学习调用该接口所需要的参数及权限等,更多信息请参见API概览。
步骤二:创建RAM用户并完成授权
阿里云账号拥有所有API的访问权限,建议您创建并使用RAM用户进行API访问或日常运维。
您可以使用阿里云账号(主账号)、RAM用户、RAM角色调用该接口,有关各种身份的差异请参见身份。
本案例中,我们使用RAM用户进行接口调用。
登录RAM访问控制。
在左侧导航栏,选择
。在用户页面,单击创建用户。
在创建用户页面,设置登录名称和显示名称、访问方式为控制台访问。
单击确定。
创建RAM用户成功后,请记录用户登录名称和密码,您在调用OpenAPI时,需要使用该RAM用户登录阿里云OpenAPI开发者门户。
为RAM用户授权。
访问RAM用户列表。
单击目标RAM用户操作列的添加权限。
在文本框中输入关键字
dysms
进行搜索,选择AliyunDysmsFullAccess 策略。单击确定新增授权,完成授权操作。
进入到对应的RAM用户详情页,在认证管理页签,点击创建 AccessKey。
更多操作详情,请参见创建AccessKey。
步骤三:调用OpenAPI
本文以Java语言SDK调用OpenAPI,其他语言SDK的用法类似,更多信息请参见短信服务SDK。您也可根据业务的实际需要选择其他调用方式,更多调用方法请参见调用方式。
配置环境变量
配置环境变量ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
。
Linux和macOS系统:将以下命令中的
<ACCESS_KEY_ID>
和<ACCESS_KEY_SECRET>
替换为您的AccessKey ID和AccessKey Secret,然后在终端设备中逐条运行。export ALIBABA_CLOUD_ACCESS_KEY_ID=<ACCESS_KEY_ID> export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<ACCESS_KEY_SECRET>
Windows系统:新建环境变量文件,添加环境变量
ALIBABA_CLOUD_ACCESS_KEY_ID
和ALIBABA_CLOUD_ACCESS_KEY_SECRET
,并写入已准备好的AccessKey ID和AccessKey Secret。然后重启Windows系统。
下载示例代码
在左侧的参数配置页签,填写需要的参数信息。
To 参数输入示例值:88691567****
Message 参数输入示例值:这是一条测试短信
在右侧的SDK示例页签,SDK版本选择v2.0,语言选择Java语言,单击下载完整工程按钮,下载示例代码包。
本地解压并进入alibabacloud_sample目录。
打开项目
使用IntelliJ IDEA加载项目,待相关依赖加载完毕后,打开 src/main/java/com/aliyun/sample/Sample.java。根据代码中的注释提示自行添加打印返回值的代码。
运行项目
点击IDE右上角的运行按钮,可查看输出日志。本案例中的返回内容如下:
{
"headers": {
"date": "Tue, 24 Oct 2023 07:47:17 GMT",
"content-type": "application/json;charset=utf-8",
"content-length": "263",
"connection": "keep-alive",
"keep-alive": "timeout=25",
"access-control-allow-origin": "*",
"access-control-expose-headers": "*",
"x-acs-request-id": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F",
"x-acs-trace-id": "29c11fe4c778b74774d5f5602f0e7975",
"etag": "2a+mcDRTDkXqx9VF7b6U57Q3"
},
"statusCode": 200,
"body": {
"ResponseCode": "OK",
"NumberDetail": {
"Region": "Taiwan",
"Country": "Taiwan, Province of China",
"Carrier": "FarEasTone"
},
"RequestId": "97B1D7B6-F2F6-3A50-97BC-A90B43EC962F",
"Segments": "1",
"ResponseDescription": "OK",
"To": "88691567****",
"MessageId": "191921698133637273"
}
}