GASで自動化!Chatworkへの通知を簡単に設定する方法

Chatworkに自動で通知を送る方法が知りたいなぁ。でも、GASでどうやったら設定できるのか全然わからないんだけど…
猫男
猫男
catman
catman
そんなときは、catmanが「GASでChatworkへの通知設定」について教えてあげよう。

 

GASでChatworkに通知を設定する

GASを使ってChatworkに自動通知を設定することで、手作業を減らし業務効率を上げることができます。

Chatwork APIトークンの取得

まず、Chatworkに通知を送るにはAPIトークンが必要です。このトークンを使ってGASからChatworkにアクセスします。

  1. Chatworkのアカウントにログインします。
  2. [API設定]セクションで新しいAPIトークンを作成します。
  3. 表示されたAPIトークンをメモしておきます。

GASでスクリプトを作成

トークンを取得したら、次はGASでスクリプトを作成します。このスクリプトが通知をChatworkに送る役割を果たします。


 function sendChatworkNotification() {
  var token = 'あなたのAPIトークンをここに';
  var roomId = '送信先ルームID';
  var message = 'Hello, this is a test notification from GAS!';
 
  var url = 'https://api.chatwork.com/v2/rooms/' + roomId + '/messages';
  
  var options = {
    'method' : 'post',
    'headers' : {
      'X-ChatWorkToken' : token
    },
    'payload' : {
      'body' : message
    }
  };
  
  UrlFetchApp.fetch(url, options);
}

このスクリプトではUrlFetchApp.fetch()を使用し、指定されたChatworkルームにメッセージを送信します。

 

GAS通知スクリプトの実行

スクリプトが作成できたら実行の設定をします。

トリガー設定

GASでは指定した時間にスクリプトを実行するトリガーを設定できます。これにより、定期的にChatworkに通知を送ることが可能になります。

  1. GASのエディタでトリガーのアイコンをクリックします。
  2. [現在のプロジェクトのトリガー]ページで新しいトリガーを追加します。
  3. 関数を選び、実行する時間やタイミングを設定します。
なるほど、トリガーを設定することで自動的に通知が送れるようになるんだね!
猫男
猫男

エラーハンドリング

通知がうまく送信されない場合に備えて、エラー時の対応を考えておくと安心です。

例えば、APIリクエストが失敗した場合はログを確認し、解決方法を検討します。

 

練習問題:GASでChatwork通知のカスタマイズ

GASによるChatwork通知機能をカスタマイズする練習をしてみましょう。以下の条件を満たすスクリプトを自分で書いてみてください。

  1. 送信先ルームIDを複数設定し、各ルームに異なるメッセージを送信する。
  2. エラーハンドリングを含める(例:ログ出力)。

  

解答・解説

以下は練習問題の解答例です。必要に応じて調整してください。


 function sendCustomChatworkNotifications() {
  var token = 'あなたのAPIトークンをここに';
  var rooms = {
    'ルームID1': 'Message for room 1',
    'ルームID2': 'Message for room 2'
  };
 
  for (var roomId in rooms) {
    var url = 'https://api.chatwork.com/v2/rooms/' + roomId + '/messages';
    
    var options = {
      'method' : 'post',
      'headers' : {
        'X-ChatWorkToken' : token
      },
      'payload' : {
        'body' : rooms[roomId]
      }
    };
    try {
      UrlFetchApp.fetch(url, options);
    } catch (e) {
      Logger.log('Error sending to room ' + roomId + ': ' + e.message);
    }
  }
}

このスクリプトは、複数のルームIDとそれに対応したメッセージを含むオブジェクトを使用します。例外が発生した場合にはログへ出力します。

EARTHPG 自動化研究所

「その作業、仕組みにできます。」

Google Apps Script、Python、スプレッドシート自動化、WordPress開発、 API連携、AI活用まで対応。 小さな自動化から業務全体の設計まで、研究所が支援します。