https://a.storyblok.com/f/270183/1368x665/42a204d317/text-message_5lines-java_24.png

Javaの5行でテキストメッセージを送信する方法

最終更新日 August 3, 2023

所要時間:2 分

はじめに

Java開発者であれば、次のようなことを耳にしたことがあるかもしれない。 JEP 445: 無名クラスとインスタンス・メイン・メソッド.Java 21 で導入されたこのプレビュー機能は、単純な "Hello, World!" プログラムを書くのに必要な定型コードを大幅に削減します。ほとんどのプロの開発者はシングル・メソッドのアプリケーションを書く必要はほとんどありませんが、再現可能な最小限のサンプルを作成したり、環境が正しくセットアップされているかテストしたりするのに便利な場合もあります。この記事では、この新しい構文をデモする。 メッセージAPI.

前提条件

  • Java 21をダウンロードしてインストールする。以下のものを見つけることができる。 早期アクセス・ビルドを見つけることができる。これを読んでいるのが2023年9月以降であれば、JDK 21のビルドをいくつかの場所から見つけることができる、 Eclipse Temurinまたは オラクル.

  • ターミナルを開き、適当な作業ディレクトリを作成する。例えば cd ~/Projects && mkdir vonage-java-demo.

  • JavaのバージョンをJDK 21にする。これを行う方法は、お使いのオペレーティング・システムによって異なりますが、理論的には、ステップ1でダウンロードしたJDKを指すように環境変数を更新するだけです。 JAVA_HOME環境変数を更新して、ステップ1でダウンロードしたJDKを指すようにするだけである。どのJDKを使用しているかは、ターミナルで java --versionと入力することで確認できる。

  • Vonageアカウントへのサインアップ.

  • Java SDKとその依存関係をすべてダウンロードしをダウンロードし、作業ディレクトリに保存します。リンクで提供されているバージョン番号を最新バージョンに置き換えてください。 GitHubのリリースページ.

コード

以下はSMSを送信するコードです。作業ディレクトリにJavaファイルを作成する、 VonageTextDemo.java.そして、そのファイルに以下のコードを貼り付けて保存してください。のNumbersをあなたの電話番号に置き換えてください。 toの数字をあなたの電話番号に置き換えてください、 apiKeyをあなたのAPIキーに、そして apiSecretをあなたのシークレットに置き換えてください。 開発者ダッシュボード).

import com.vonage.client.*; import com.vonage.client.messages.*; import com.vonage.client.messages.sms.*;
void main() {
    var client = VonageClient.builder().apiKey("a1b2c3d4").apiSecret("0123456789Abcdef").build();
    client.getMessagesClient().sendMessage(SmsTextRequest.builder().from("Vonage Java").to("447418360119").text("Hello, World!").build());
}

コードの仕組みはこうだ。

  • 行目では、コンパイルに必要なパッケージからクラスをインポートしている。

  • 2行目は、Java 21で導入された新しい構文である。パッケージ宣言を省略することはこれまでも可能だったが、Java 21までは、メイン・メソッドはクラス内に含まれる必要があり、正確に public static void main(String[] args)(あるいは public static void main(String… args)).新しい構文についての詳細は Inside Java Newscast #49.

  • 3行目では、APIキーとシークレットを認証方法として使用してVonageクライアントを構築します。これはMessages APIを使い始める最も簡単な方法ですが、本番環境ではアプリケーションIDと秘密鍵を使用することをお勧めします。

  • 4行目は、メッセージが作成され、送信されるところである。この com.vonage.client.messages.MessagesClient#sendMessage(MessageRequest)メソッドが SmsTextRequest- のサブクラスである MessageRequest.すべてのメッセージリクエストはBuilderパターンに従います(これについては 以前のブログ記事].これにより、メッセージのペイロードを宣言的に構築することができます。最後に、念のため。

  • 5行目はもちろん、2行目で宣言されたmainメソッドの閉じブレースだ。

WhatsAppでテキストを送信する場合 SmsTextRequestWhatsappTextRequestに置き換えてインポートを更新してください。この場合 メッセージAPIサンドボックスを使用する必要があります。そうでない場合、WhatsApp Business Accountを設定し、その番号を使用する必要があります。Java SDKは useSandboxEndpoint()メソッドを提供しています。 MessagesClientメソッドを提供しています。

import com.vonage.client.*; import com.vonage.client.messages.*; import com.vonage.client.messages.whatsapp.*;
void main() {
    var client = VonageClient.builder().apiKey("a1b2c3d4").apiSecret("0123456789Abcdef").build();
    client.getMessagesClient().useSandboxEndpoint().sendMessage(WhatsappTextRequest.builder().from("14157386102").to("447418360119").text("Hello, World!").build());
}

同様に、Viberでもこのようにテキストを送ることができる:

import com.vonage.client.*; import com.vonage.client.messages.*; import com.vonage.client.messages.viber.*;
void main() {
    var client = VonageClient.builder().apiKey("a1b2c3d4").apiSecret("0123456789Abcdef").build();
    client.getMessagesClient().useSandboxEndpoint().sendMessage(ViberTextRequest.builder().from("My Company").to("447418360119").text("Hello, World!").build());
}

Facebook Messengerの場合も同様です。 toに、メッセージのサンドボックスIDを from:

import com.vonage.client.*; import com.vonage.client.messages.*; import com.vonage.client.messages.messenger.*;
void main() {
    var client = VonageClient.builder().apiKey("a1b2c3d4").apiSecret("0123456789Abcdef").build();
    client.getMessagesClient().useSandboxEndpoint().sendMessage(MessengerTextRequest.builder().from("107083064136738").to("6573130892744564").text("Hello, World!").build());
}

コンパイルと実行

作業ディレクトリで、以下のコマンドを入力する:

javac --enable-preview --release 21 -cp "client-7.6.0-all.jar" VonageTextDemo.java

もちろん client-7.6.0-all.jarVonageTextDemo "と同じように、ダウンロードしたJARファイルの名前に置き換えてください。コンパイルが成功すると、作業ディレクトリに .classファイルが生成されるはずです、 VonageTextDemo.class.これで次のように実行できます:

java --enable-preview -cp "client-7.6.0-all.jar:." VonageTextDemo

今、携帯電話をチェックすれば、メールが届いているはずだ!

その他の例は Javaコード・スニペット・リポジトリ.Messages API はテキストメッセージだけでなく、ファイル、画像、オーディオ、ビデオなどのマルチメディアもサポートしています。

サインオフ

今のところは以上です!もし何か問題が見つかったり、機能強化の提案があれば、遠慮なく GitHub で問題を提起するで問題を提起してください。 ツイッターまたは コミュニティ・スラックまでご連絡ください。JavaでVonage APIを使用する素晴らしい経験ができることを願っています!

シェア:

https://a.storyblok.com/f/270183/400x400/46a3751f47/sina-madani.png
Sina MadaniVonage 元チームメンバー

シナはVonageのJavaデベロッパー・アドボケイト。アカデミックなバックグラウンドを持ち、自動車、コンピューター、プログラミング、テクノロジー、人間性など、あらゆることに好奇心旺盛。余暇には散歩をしたり、対戦型ビデオゲームをしたりしている。