この記事は公開されてから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メソッドであるためmethodはpostを指定します。
- メッセージ本文はBody(payload)にパラメータ名をbodyとして指定する必要があります。
- URLの一部に含まれるroomIdはChatWorkの各ルームのURLの#!ridXXXXXXのXXXXXXの部分になります。#!rid123456なら123456になります。
では、実際に試してみたいと思います。myFunction関数からpostMessageToRoom関数を実行します。
前述のように実行するとメッセージが投稿されました。メッセージ記法も利用できますし、改行も問題なく表示されています。
以上、小ネタでしたー。
- APIトークンの取得方法についてはChatWork APIを使って定期投稿を自動化するをご参照下さい。 ↩