HRR Co., Ltd.

技術的な記録を残していくことを目的としています。1次情報を大事にしています。

Chatwork APIを使ってみる (1)

はじめに

SlackやらChatworkやら、業務でチャットツールを使っているところは多いと思います。
今回はChatwork APIを使った例を共有します。

ちなみに、curlPHPで実行してみます。

公式ドキュメント

developer.chatwork.com

こちらにあります。
注意事項もあるので、上記ページは読んでおくことをオススメします。

API実行にはTokenが必要になりますが、組織管理者への申請が必要な場合があります。
権限的に使えるようであれば、

Chatwork画面右上の「利用者名」をクリックして表示されるメニューの「API設定」から

APIのTokenを取得できます。

例1: マイチャットにメッセージを投稿してみる (curl編)

固定のメッセージをPOSTするだけなら、プログラムを組まずとも、curlコマンドでできます。

curl -X POST -H "X-ChatWorkToken:TOKEN_CODE" -d "body=test message&self_unread=1" "https://api.chatwork.com/v2/rooms/ROOM_ID/messages"

TOKEN_CODEROOM_IDを、ご自分の環境に合わせてから実行してみてください。
ROOM_IDは、グループチャットを選択したときの、URLを見るとわかります。

https://www.chatwork.com/#!rid********

********のところがROOM_IDです。

実行すると、コマンドの返り値として

{"message_id":"MESSAGE_ID"}

が返却されます。MESSAGE_IDにはその名の通り、メッセージごとの固有のIDが入ります。
そして、指定のグループチャットに「test message」と未読の投稿がされると思います。

例2: マイチャットにメッセージを投稿してみる (PHP編)

次はPHPで書いてみます。結局PHPでもcurlを使うんですが…。

<?php

$ch = curl_init();
$postRoomId = "ROOM_ID";
$message = "test message";

curl_setopt($ch, CURLOPT_URL, "https://api.chatwork.com/v2/rooms/".$postRoomId."/messages");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("X-ChatWorkToken: TOKEN_CODE"));
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, array('body' => $message, 'self_unread' => 1));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$messageId = curl_exec($ch);
curl_close($ch);

echo $messageId;

こちらも、コマンドの返り値として

{"message_id":"MESSAGE_ID"}

が返却されます。そして、指定のグループチャットに「test message」という未読の投稿がされると思います。

最後に

第2弾を用意する予定ですので、第1弾はここまで。
今回のメッセージ投稿が、API活用の基本になるのではないかと思います。

次回はもう少し実践的な例を投稿予定です。
以上でした!