ちょっと話題の記事

Google Apps Scriptを使ってChatWorkにメッセージ投稿

2015.06.23

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

弊社でChatWorkを利用していることは何度か紹介していますが、最近特定のGmailについてChatWorkにメッセージ投稿をしたいというケースがありました。そこでGoogle Apps Script(以下GAS)を利用してChatWork APIを操作したので、そのコードスニペットについてご紹介します。

function postMessageToRoom(token, roomId, message) {
  var params = {
    headers : {
      "X-ChatWorkToken" : token
    },
    method : "post",
    payload : {
      body : message
    }
  };
  var url = "https://api.chatwork.com/v1/rooms/" + roomId + "/messages";
  var result = UrlFetchApp.fetch(url, params);
}

以下、コードに関する補足です。

  • GASにおいて外部通信する際はURL Fetch Serviceを利用します。
  • ChatWorkのAPIはトークン1をHTTPヘッダのX-ChatWorkTokenで指定する必要があります。
  • メッセージ投稿APIはPOSTメソッドであるためmethodpostを指定します。
  • メッセージ本文はBody(payload)にパラメータ名をbodyとして指定する必要があります。
  • URLの一部に含まれるroomIdはChatWorkの各ルームのURLの#!ridXXXXXXXXXXXXの部分になります。#!rid123456なら123456になります。

では、実際に試してみたいと思います。myFunction関数からpostMessageToRoom関数を実行します。 post-message-to-chatwork-by-google-apps-script_1

前述のように実行するとメッセージが投稿されました。メッセージ記法も利用できますし、改行も問題なく表示されています。 post-message-to-chatwork-by-google-apps-script_2

以上、小ネタでしたー。


  1. APIトークンの取得方法についてはChatWork APIを使って定期投稿を自動化するをご参照下さい。