このトピックでは、SMS SDK for Java と OpenAPI Explorer を使用して、メッセージを携帯電話番号に送信する方法について説明します。
ステップ 1: API リファレンスの表示
API 操作を呼び出す前に、関連するパラメーターと権限について学習することをお勧めします。 詳細については、「SendMessageToGlobe」および「機能別の操作一覧」をご参照ください。
ステップ 2: RAM ユーザーの作成と RAM ユーザーへの権限付与
RAM ユーザーに権限を付与し、その RAM ユーザーを使用して API 呼び出しと日常の O&M を実行することをお勧めします。 RAM ユーザーの詳細については、「RAM ユーザーの概要」をご参照ください。
RAM ユーザーの作成
RAM ユーザーへの権限付与
ステップ 3: API 操作の呼び出し
SDK はアプリケーションに簡単に統合でき、最も広範囲の操作をカバーします。 SDK を使用して API 操作を呼び出すことをお勧めします。 このトピックでは、SMS SDK for Java を使用して API 操作を呼び出します。 別の言語の SMS SDK を使用することもできます。 詳細については、SDK センターをご覧ください。
準備
Java のバージョンが Java 8 以降であるかどうかを確認します。 Java 環境のデプロイ方法の詳細については、「Windows で Java 開発環境を構築する」をご参照ください。
Maven の依存関係を設定し、SDK をインストールします。
<dependency> <groupId>com.aliyun</groupId> <artifactId>dysmsapi20180501</artifactId> <!-- 'the-latest-version' を最新のバージョン番号に置き換えます。 https://mvnrepository.com/artifact/com.aliyun/dysmsapi20180501 で取得できます --> <version>the-latest-version</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.dysmsapi20180501.Client;
import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeRequest;
import com.aliyun.dysmsapi20180501.models.SendMessageToGlobeResponse;
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 シークレットを設定します。 環境変数 ALIBABA_CLOUD_ACCESS_KEY_SECRET が設定されていることを確認してください。
.setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
// エンドポイントを設定します
config.endpoint = "dysmsapi.ap-southeast-1.aliyuncs.com";
return new Client(config);
}
public static void main(String[] args) throws Exception {
// クライアントを初期化します
Client client = Sample.createClient();
// リクエストオブジェクトを構築し、リクエストパラメーターを指定します
SendMessageToGlobeRequest sendSmsRequest = new SendMessageToGlobeRequest()
.setTo("<YOUR_VALUE>")
.setMessage("<YOUR_VALUE>");
// 応答オブジェクトを取得します
SendMessageToGlobeResponse sendSmsResponse = client.sendMessageToGlobe(sendSmsRequest);
// 応答の本文とヘッダー
System.out.println(toJSONString(sendSmsResponse));
}
}OpenAPI Explorer が提供するサンプルコードをダウンロードして直接実行することもできます。
サンプルコードのダウンロード
プロジェクトの実行
出力例:
{
"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"
}
}