【Chatwork API】Java17でChatwork 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が思ったより出てこなかったので書いてみました。
どうすれば出来るかを考えるのは楽しいです!
仕組みさえわかれば、どうにかなるもんですね。
以上、ここまで見ていただきありがとうございます。
皆さまの快適な開発ライフに、ほんの少しでもお役に立てれば幸いです。