Google Todo リストを Google Chat に毎日連絡させてみた
概要
Google Apps Script (GAS) と GASのToDoの拡張機能を用いて Bot が Google Chat に毎朝残ってる ToDo を通知するようにしてみた.
手順
まず,マイドライブにGASファイルを作成し,以下のコードをコピペする.
function report_todo() { var url = '自身のチャットボット (Webhook)のURLを記入' //あとで変更するので一旦そのままで. var summary_todo = get_todoList(); if (summary_todo) { var botMassage = {'text' : summary_todo} var options = { 'method' : 'POST', 'heders' : { 'Content-Type' : 'application/json: charset=UTF-8' }, 'payload':JSON.stringify(botMessage) }; var result = UrlFetchApp.fetch(url, options); Logger.log(result); } } function get_todoList() { var taskLists = Task.Tasklists.list(); var summary_msg = ''; if (taskLists.items) { for (var i = 0; i < taskLists.items.length; i++) { var taskList = taskLists.items[i]; summary_msg = getTasks(taskList.id); } } return summary_msg; } function getTasks(taskListId) { var tasks = Tasks.Tasks.list(taskListId); var msg = ''; if (tasks.items) { for (var i = 0; i < tasks.items.length; i++) { var task = task.items[i]; msg += task.due.split('T')[0] + '\t' + task.title + '\n'; } } return msg; }
コピペしたままでは使えないので,GASのコードをコピペしたウィンドウの上部にある「リソース→googleの拡張サービス...」を順にクリックする. もし, "Edit Project Name" と出てきたらわかりやすい名前を適当につける.(例:todo_report) 新たに出てきた ”Advanced Google Services” の下のほうに "Task API" があるので右の部分をクリックして ON にしてOKをクリックする.
google chat で新たにチャットルームを作成し, webhook の設定を行い,URLを取得する.
取得したURLをGASのコードの該当部分に記入する.
GASのウィンドウで上部の時計アイコンをクリックし,トリガーを用いて通知が来るタイミングを設定
※ToDoリストに入れるタスクに締切がないとエラーが出る