GASでチャットワーク通知を簡単自動化する方法
GASを使ってチャットワークに通知を送信する方法を知りたいんだけど、どうすればいいんだろう…?なんだか難しそうだなあ。

猫男

catman
心配するな、猫男。catmanが「GASでチャットワークに通知を送る方法」をわかりやすく教えてやろう。まずは基本からいこうか。
GASでチャットワーク通知を送信する基本
GAS(Google Apps Script)は、Googleのクラウドサービスを自動化するためのスクリプト言語で、チャットワークへの通知も可能だ。
必要な準備
まずはチャットワークのAPIキーを取得しよう。
- チャットワークにログイン
- 「マイチャット」画面で「設定」を開き、「API設定」へ移動
- APIトークンを発行し、メモしておく
次に、GASプロジェクトを作成して、チャットワークへの通知を行うためのスクリプトを記述する準備だ。
GASでのスクリプト作成
通知を行うための基本的なスクリプトは次のようになる。
function sendChatworkNotification() {
var apiToken = "YOUR_CHATWORK_API_TOKEN";
var roomId = "YOUR_ROOM_ID";
var message = "通知メッセージをここに記入";
var options = {
method: "post",
headers: {
"X-ChatWorkToken": apiToken
},
payload: {
body: message
},
muteHttpExceptions: true
};
var url = "https://api.chatwork.com/v2/rooms/" + roomId + "/messages";
var response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
このスクリプトを書けば、チャットワークにメッセージを送れるんだね。でもコードの意味がちょっと難しく感じるな。

猫男

catman
安心しろ、catmanがコードの解説をしてやろう。これを読めば理解が深まるはずだ。
スクリプトの解説
このスクリプトは、GASからチャットワーク通知を送る基本的なものだ。
コードの詳細解説
- apiToken:チャットワークのAPIキーを指定する。ここにあなたがチャットワークで取得したキーを入れる。
- roomId:通知を送りたいチャットルームのIDを指定する。こちらも事前に取得しておく必要がある。
- message:送りたいメッセージをこの変数に記入。
- options:HTTPリクエストの設定を指定するオブジェクト。postメソッドを使い、ヘッダーでAPIキーを送信。
- url:メッセージを送信するためのAPIエンドポイント。このURLに対してHTTPリクエストを送信する。
- UrlFetchApp.fetch:指定したURLにHTTPリクエストを送信し、レスポンスを得る。
わかってきた!これでGASを使ってチャットワーク通知を自動化できそう!ありがとうございます、catman!

猫男
練習問題:チャットワーク通知を送ってみよう
次のステップに従って、GASを使ってチャットワークに通知を送るスクリプトを完成させてみよう。
- チャットワークのAPIトークンとルームIDを取得。
- GASプロジェクトを新規作成し、スクリプトを記述する。
- GASのメニューから「スクリプトを実行」して、実際にメッセージを送信してみる。
練習問題の解答・解説
ここでは、スクリプトの実行例を示す。
function sendChatworkNotification() {
var apiToken = "取得したAPIトークン";
var roomId = "取得したルームID";
var message = "これが自動化された通知です!";
var options = {
method: "post",
headers: {
"X-ChatWorkToken": apiToken
},
payload: {
body: message
},
muteHttpExceptions: true
};
var url = "https://api.chatwork.com/v2/rooms/" + roomId + "/messages";
var response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
次のことを確認:
- APIトークンとルームIDが正しく設定されているか。
- 選んだメッセージが適切か。
- スクリプトがエラーなく実行されているか。

catman
こんな感じで進めていけば、それぞれのスクリプトを自動化してどんどん便利にできるさ。頑張るんだ、猫男!