〜Google Apps Script で タスクワールドのチャットに通知する bot を作りましょう!〜

API


今回は Google Apps Script(以下GAS)を使用して、タスクリストの期限切れタスクの件数をチャットに通知する bot を作成します。

このサンプルでは Google とタスクワールドのアカウントが必要になります。また、タスクワールド API で使用する ID も用意しておきましょう。ID はタスクワールド画面の「アカウント設定 > データのダウンロード」からダウンロードするか、または<前回記事>のサンプルソースで取得できます。


スクリプトを作成

まずはGoogle Apps Script プロジェクト一覧画面で新規スクリプトを作成し、スクリプトエディタを開きます。

このエディタ上にサンプルスクリプトをコピーペーストして保存します。プロジェクト名・ファイル名は任意で構いません。

editor



プロパティを登録

次にアクセストークンと ID をスクリプトプロパティに登録します。

メニューの「ファイル > プロジェクトのプロパティ」から「スクリプトのプロパティ」を開き、以下のようにプロパティを追加します。

properties


スクリプトの実行を承認

ここまで準備したら動作確認を行いましょう。myFunction 関数を選択してメニューバーのデバッグボタン(虫のマーク)をクリックします。

debug


すると、最初に実行する時は「承認が必要です」というメッセージが出てきます。

「許可を確認」をクリックし、次の「アカウントの選択」フォームで使用アカウントをクリックします。この後、許可ボタンが表示されれば許可に進みますが、「このアプリは確認されていません」と表示されたら「プロジェクト名(安全ではないページ)に移動」をクリックし、メッセージに従って進んでください。

permission


承認が完了するとスクリプトが実行されます。

タスクワールドのチャットに以下のようなメッセージが表示されたら成功です!

message



スケジュールを設定

スクリプトを定期的に実行したい場合は、GAS でトリガーを登録しましょう。

スクリプトエディタのメニューから「編集 > 現在のプロジェクトのトリガー」でフォームを開き、トリガーを追加して任意のタイミングを設定します。下図の場合、毎週月曜の午後に myFunction 関数を実行します。

trigger



スクリプトの実装内容

スクリプトに実装した処理内容を簡単にご説明します。

最初に実行する myFunction 関数は、期限切れタスクの件数を数えてメッセージを送信するメイン処理です。

func1MyFunc


myFunction からラッパー関数を呼び出してタスクリストの取得およびメッセージの送信を行います。また、スクリプトプロパティにアクセスし、各 API で送信するパラメータを用意します。

func2Wrapper


postRequest 関数はタスクワールド API の呼び出しを実行します。

func3Apicall



まとめ

今回はさらに実践的な内容となりましたが、いかがでしたか?

GAS を使うとスクリプトの実行環境や定期処理が無料で利用できてとても便利ですね。また、GAS からデータをスプレッドシートに記録したり、他のサービスへ連携するハブにも使えます。

プロジェクト管理は何かと大変ですが、API を活用して便利な環境を作っていきたいですね!

--------------

タスクワールドは、15日間無料でトライアル利用が可能です。
トライアル期間中は、アナリティクス機能を含む、そのすべての機能を無制限で使えます。
日本語によるサポートもバッチリなので、ぜひ気軽にトライアルスタートを!

twbanner_700x230_ja

1-cR7Xny-Rt1dGa1JGiexWBw

1-LXIE6IOdez6aMNcva6C6Bg