すべてのプロダクト
Search
ドキュメントセンター

Short Message Service:SMS SDK for Java の使用

最終更新日:Sep 24, 2025

このトピックでは、SMS SDK for Java と OpenAPI Explorer を使用して、メッセージを携帯電話番号に送信する方法について説明します。

ステップ 1: API リファレンスの表示

API 操作を呼び出す前に、関連するパラメーターと権限について学習することをお勧めします。 詳細については、「SendMessageToGlobe」および「機能別の操作一覧」をご参照ください。

ステップ 2: RAM ユーザーの作成と RAM ユーザーへの権限付与

重要

RAM ユーザーに権限を付与し、その RAM ユーザーを使用して API 呼び出しと日常の O&M を実行することをお勧めします。 RAM ユーザーの詳細については、「RAM ユーザーの概要」をご参照ください。

RAM ユーザーの作成

Resource Access Management (RAM) コンソールの [ユーザーの作成] ページに移動し、RAM ユーザー名を指定し、[アクセスモード] パラメーターを [永続的な AccessKey を使用してアクセス] に設定してから、[OK] をクリックします。 AccessKey 情報を記録します。

RAM ユーザーへの権限付与

RAM コンソールの [ユーザー] ページに移動し、RAM ユーザーを見つけて、[アクション] 列の [権限の追加] をクリックします。 [ポリシー] 検索ボックスに「AliyunDysmsFullAccess」と入力し、ポリシーを選択して、[権限を付与] をクリックします。

説明
  • AliyunDysmsFullAccess: SMS の管理権限を指定します。

  • AliyunDysmsReadOnlyAccess: SMS の読み取り専用権限を指定します。

カスタムポリシーの作成方法の詳細については、「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_IDALIBABA_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 が提供するサンプルコードをダウンロードして直接実行することもできます。

サンプルコードのダウンロード

  1. OpenAPI Explorer にアクセスします。

  2. [パラメーター] タブで、リクエストパラメーターを設定します。

    • To パラメーターのサンプル値: 88691567****

    • Message パラメーターのサンプル値: これはテストメッセージです。

  3. [SDK サンプルコード] タブで、[SDK バージョン] として v2.0 を選択し、[言語] として Java を選択します。 [プロジェクトのダウンロード] をクリックして、サンプルコードパッケージをダウンロードします。

  4. IntelliJ IDEA を使用してプロジェクトをロードします。 依存関係がロードされたら、src/main/java/com/aliyun/sample/Sample.java ディレクトリにある Sample.java ファイルを開きます。

プロジェクトの実行

出力例:

{
  "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"
  }
}