earthpg:GAS専門のプログラミングスクール

GASでチャットワーク通知を簡単自動化する方法

GASを使ってチャットワークに通知を送信する方法を知りたいんだけど、どうすればいいんだろう…?なんだか難しそうだなあ。
猫男
猫男
catman
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
安心しろ、catmanがコードの解説をしてやろう。これを読めば理解が深まるはずだ。

スクリプトの解説

このスクリプトは、GASからチャットワーク通知を送る基本的なものだ。

コードの詳細解説

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

練習問題:チャットワーク通知を送ってみよう

次のステップに従って、GASを使ってチャットワークに通知を送るスクリプトを完成させてみよう。

  1. チャットワークのAPIトークンとルームIDを取得。
  2. GASプロジェクトを新規作成し、スクリプトを記述する。
  3. 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
catman
こんな感じで進めていけば、それぞれのスクリプトを自動化してどんどん便利にできるさ。頑張るんだ、猫男!