タイトル通りGASからToDoリストを操作する機会があったのでメモ。
Tasks APIを読み込む
Tasks APIを使うことでGASからToDoを操作できる
タスクリストを取得する
/**
* タスクリスト取得
*/
function getTaskList() {
var taskLists = Tasks.Tasklists.list();
if (taskLists.items) {
for (var i = 0; i < taskLists.items.length; i++) {
var taskList = taskLists.items[i];
return taskList;
}
}
}
リストからタスクを取得
// タスクリストを取得
var taskList = getTaskList();
// リストからタスクを取得
var tasks = Tasks.Tasks.list(taskList.id).getItems();
if (tasks) {
var flag = 0;
for (let i = 0; i < tasks.length; i++) {
Logger.log(taskList.title); // リスト名
Logger.log(tasks[i].parent); // 親タスク
Logger.log(tasks[i].title); // 件名
Logger.log(tasks[i].status); // ステータス
let due = tasks[i].due ? new Date(tasks[i].due) : "";
Logger.log(due); // 期限
let updated = tasks[i].updated ? new Date(tasks[i].updated) : "";
Logger.log(updated); // 更新日時
Logger.log(tasks[i].notes); // メモ
}
}
タスクを追加
/**
* タスクを追加
*/
function addTask(date,title){
var taskList = getTaskList();
var now = new Date(date);
var task = {
title: title,
//notes: 'GASからのテストですよん',
due: now.getFullYear() + '-' + (now.getMonth() + 1) + '-' + now.getDate() + 'T00:00:00.000Z'
};
task = Tasks.Tasks.insert(task, taskList.id);
}