みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
Google Apps Scriptからチャットワークを操作する様々なプログラムを作っています。
名言botを作ったり
チャットワークでおみくじが引けるプログラムを作ってみたり。
色々なツールが考えられるのですが、インターフェースがチャットなので誰もが扱いやすいものになりますよね。
さて、他のメッセージサービスにはないチャットワークの大きな特長としてタスク機能があります。
毎日や毎月など、定期的に発生するタスクも自動で追加できたら楽ちんできますよね。
ということで、今回から何回かにわたってチャットワークに自動でタスクを追加するプログラムの作成を目標に進めていきたいと思います。
初回の今回は、Google Apps Scriptでチャットワークにタスクを追加する最も簡単なプログラムを紹介します。
では、行ってみましょう!
チャットワークにタスクを追加するAPIリクエスト
今回はタスク追加の最も簡単なパターンということで
- マイチャットで
- 自分自身に
- 「牛乳を買う」というタスクを追加する
というプログラムを作っていきます。
チャットワークAPIのドキュメントによるとタスクの追加に関するリクエストについて
チャットに新しいタスクを追加
body(必須):タスクの内容
limit:タスクの期限(※Unix timeで入力してください)
to_ids(必須):担当者のアカウントID(※担当者のアカウントIDをカンマ区切りで)
とあります。
パラメータが3つもあります。
HTTPメソッドが「post」の場合、payloadというパラメータで連想配列として渡してあげる必要がありました。
この辺は以下記事で紹介をしています。
ひとまず今回は必須であるタスクの内容のbodyと担当者のアカウントIDのto_idsだけを考えます。limitについては別記事で紹介します。
リクエストURLは
です。
タスクを追加する場合に必要な要素は
- room_id:タスクを追加するルームID
- body:タスクの内容
- to_ids:担当者のアカウントID
が必要となります。
チャットワークでアカウントIDを知る方法
アカウントIDは調べる必要がありますね。
最も簡単に調べる方法は、チャットワークでアカウントIDを調べたいユーザーに対してToをつけて送信したメッセージの「編集」をしてみることです。
例えば、私自身にあてたメッセージですが「編集」をクリックすると
メッセージ入力欄に
[To:XXXXXX]高橋 宣成さん[info]おみくじの結果:凶[/info]
と表示されます。
この「To:」の後に続く数字列がアカウントIDです。
チャットワークにタスクを追加するスクリプト
チャットワークにタスクを追加するスクリプトはこちらになります。
function addTestTask() { var token = 'APIトークン'; //チャットワークAPIトークン var room_id = XXXXXXXX; //ルームID var params = { headers : {"X-ChatWorkToken" : token}, //APIトークン method : "post", payload : { body : "ミルクを買う", //タスクの内容 to_ids : XXXXXX //アカウントID } }; var url = "https://api.chatwork.com/v2/rooms/" + room_id + "/tasks"; UrlFetchApp.fetch(url, params); //チャットワークAPIにリクエスト }
UrlFetchApp.fetchで渡すparamsの作りさえ押さえてしまえば、全く難しいところはありませんね。
実行結果
上記スクリプトを実行してみますと
このようにタスクが追加されます。バッチリですね。
まとめ
Google Apps Scriptでチャットワークにタスクを追加する最も簡単なスクリプトについてお伝えしました。
今回はタスクの期限を設定するパラメータlimitに関して触れなかったので、その点に触れていきたいと思います。
どうぞお楽しみに!