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

Short Message Service:SMS SDK for Javaを使用する

最終更新日:Nov 21, 2024

このトピックでは、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ユーザー名を指定し、Access ModeパラメーターをOpenAPI Accessに設定して、[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>
        <version>1.0.8</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()
                // Configure the AccessKey ID. Make sure that the environment variable ALIBABA_CLOUD_ACCESS_KEY_ID is configured. 
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // Configure the AccessKey secret. Make sure that the environment variable ALIBABA_CLOUD_ACCESS_KEY_SECRET is configured. 
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));

        // Configure the endpoint
        config.endpoint = "dysmsapi.aliyuncs.com";

        return new Client(config);
    }

    public static void main(String[] args) throws Exception {
        // Initialize the client
        Client client = Sample.createClient();

        // Construct the request object and specify the request parameters
        SendMessageToGlobeRequest sendSmsRequest = new SendMessageToGlobeRequest()
                .setTo("<YOUR_VALUE>")
                .setMessage("<YOUR_VALUE>");

        // Obtain the response object
        SendMessageToGlobeResponse sendSmsResponse = client.sendMessageToGlobe(sendSmsRequest);

        // Response body and headers
        System.out.println(toJSONString(sendSmsResponse));
    }
}

OpenAPI Explorerが提供するサンプルコードをダウンロードして直接実行することもできます。

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

  1. 訪問

    OpenAPI Explorerを使用します。

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

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

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

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

  4. IDEを使用してプロジェクトを読み込みます。 依存関係がロードされたら、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"
  }
}