ヘッダー画像

【Chatwork API】Java17でChatwork APIを使うには?

API
投稿 2023年5月5日 最終更新 2023年5月5日 専門用語多め

JavaでChatwork API

Chatwork APIをJavaで実行します。

バージョンはJava17です。

curlなどでやっている記事はいくつかありますが、
Javaでやっている記事が見当たらなかったので、やってみました。

前提

Chatwork APIの実行環境は、整っている前提で話を進めます。
※curlなどでChatwork APIをたたける前提

もしまだ環境が整っていない方は、整えてからご覧ください。

コード

Java

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpRequest.BodyPublishers;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;

public class ChatworkAPI {
  public static void main(String[] args) {
    // アクセストークン
    String token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    // ルームID(窓)
    String roomId = "000000000";
    // 送信したいメッセージ
    String msg = "はじめまして\nよろしく!";
    // リクエスト用に成形
    String apiUrl = "https://api.chatwork.com/v2/rooms/" + roomId + "/messages";
    String body = "self_unread=0&body=" + msg;
    // リクエスト作成
    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(apiUrl))
        .header("accept", "application/json")
        .header("content-type", "application/x-www-form-urlencoded")
        .header("x-chatworktoken", token)
        .method("POST", BodyPublishers.ofString(body))
        .build();
    // リクエスト送信しレスポンス取得
    String response = HttpClient.newHttpClient()
        .send(request, BodyHandlers.ofString())
        .body();
    System.out.println(response);
  }
}

curl

curl --request POST \
  --url https://api.chatwork.com/v2/rooms/000000000/messages \
  --header 'accept: application/json' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --header 'x-chatworktoken: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
  --data self_unread=0 \
  --data 'body=はじめましてよろしく!'

GitHubにもメソッド版を上げています。

そちらも参考にどうぞ。

まとめ

PHPやcurlは検索すれば出てくるとは思いますが、Javaが思ったより出てこなかったので書いてみました。

どうすれば出来るかを考えるのは楽しいです!

仕組みさえわかれば、どうにかなるもんですね。

以上、ここまで見ていただきありがとうございます。

皆さまの快適な開発ライフに、ほんの少しでもお役に立てれば幸いです。

コメント

この記事のコメントはありません。