Google Apps Scriptでチャットワークにタスクを追加する最も簡単なプログラム


task

みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。

Google Apps Scriptからチャットワークを操作する様々なプログラムを作っています。

名言botを作ったり

Google Apps Scriptでチャットワークの名言botを作る方法
初心者向けGoogle Apps Scriptでチャットワークを操作するシリーズです。今回はスプレッドシートの操作、イベントトリガーなどの設定を利用してチャットワークのbotを作る方法についてです。

チャットワークでおみくじが引けるプログラムを作ってみたり。

Google Apps Scriptで乱数を使っておみくじプログラムを作る
今回はGoogle Apps Scriptで乱数を使用しておみくじを作る方法についてお伝えしていきます。乱数の発生、小数点の切り捨て、配列の要素数を求めるなど、あちこちで使えるテクニックが満載ですよ!

色々なツールが考えられるのですが、インターフェースがチャットなので誰もが扱いやすいものになりますよね。

さて、他のメッセージサービスにはないチャットワークの大きな特長としてタスク機能があります。

毎日や毎月など、定期的に発生するタスクも自動で追加できたら楽ちんできますよね。

ということで、今回から何回かにわたってチャットワークに自動でタスクを追加するプログラムの作成を目標に進めていきたいと思います。

初回の今回は、Google Apps Scriptでチャットワークにタスクを追加する最も簡単なプログラムを紹介します。

では、行ってみましょう!

スポンサーリンク

チャットワークにタスクを追加するAPIリクエスト

今回はタスク追加の最も簡単なパターンということで

  • マイチャットで
  • 自分自身に
  • 「牛乳を買う」というタスクを追加する

というプログラムを作っていきます。

チャットワークAPIのドキュメントによるとタスクの追加に関するリクエストについて

POST /rooms/{room_id}/tasks
チャットに新しいタスクを追加

body(必須):タスクの内容
limit:タスクの期限(※Unix timeで入力してください)
to_ids(必須):担当者のアカウントID(※担当者のアカウントIDをカンマ区切りで)

とあります。

パラメータが3つもあります。

HTTPメソッドが「post」の場合、payloadというパラメータで連想配列として渡してあげる必要がありました。

この辺は以下記事で紹介をしています。

Google Apps Scriptでチャットワーク上におみくじチャットを作る
Google Apps ScriptとチャットワークAPIを使ってチャットワークで「おみくじ」と送信すると、大吉から凶までのおみくじの結果を生成してチャットワークに返す「おみくじチャット」を作成します。

ひとまず今回は必須であるタスクの内容のbodyと担当者のアカウントIDのto_idsだけを考えます。limitについては別記事で紹介します。

リクエストURLは

https://api.chatwork.com/v2/rooms/{room_id}/tasks

です。

タスクを追加する場合に必要な要素は

  • room_id:タスクを追加するルームID
  • body:タスクの内容
  • to_ids:担当者のアカウントID

が必要となります。

チャットワークでアカウントIDを知る方法

アカウントIDは調べる必要がありますね。

最も簡単に調べる方法は、チャットワークでアカウントIDを調べたいユーザーに対してToをつけて送信したメッセージの「編集」をしてみることです。

例えば、私自身にあてたメッセージですが「編集」をクリックすると

チャットワークでメッセージを編集

メッセージ入力欄に

[To:XXXXXX]高橋 宣成さん[info]おみくじの結果:凶[/info]

と表示されます。

チャットワークのメッセージ編集でアカウントIDを取得

この「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の作りさえ押さえてしまえば、全く難しいところはありませんね。

実行結果

上記スクリプトを実行してみますと

GASでチャットワークにタスクを追加した

このようにタスクが追加されます。バッチリですね。

まとめ

Google Apps Scriptでチャットワークにタスクを追加する最も簡単なスクリプトについてお伝えしました。

今回はタスクの期限を設定するパラメータlimitに関して触れなかったので、その点に触れていきたいと思います。

Google Apps Scriptでチャットワークに期限付きのタスクを追加する
Google Apps ScriptでチャットワークAPIを操作してチャットワークに期限付きのタスクを追加する方法です。その際に使うUNIX時間の取得方法、数値の固定小数点表記の方法についても触れます。

どうぞお楽しみに!

連載目次:GASでチャットワークに自動でタスク追加をする

タスク管理は重要なのですが、タスクを立てること自体を忘れてしまったりませんか?このシリーズではスプレッドシートとチャットワークを使って定期的なタスクを自動で追加する方法についてお伝えしています。
  1. Google Apps Scriptでチャットワークにタスクを追加する最も簡単なプログラム
  2. Google Apps Scriptでチャットワークに期限付きのタスクを追加する
  3. 【GAS】スプレッドシートに記載したタスクを毎日チャットワークに自動で追加する
  4. GoogleスプレッドシートとExcelで使える日付関連の関数まとめ
  5. 【GAS】定期的に発生するタスクをチャットワークに自動でタスク追加(完全版)

タイトルとURLをコピーしました