GAS

GASからGoogleのTodoリストを操作する

タイトル通り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);
}
ABOUT ME
ytakeuchi
都内在住のフロントエンドエンジニア。2016年からフリーランスとして活動中。座右の銘は「昨日よりも楽に」。好きな言葉は「効率化」。こんな性格なのでプライベートではGoogle Apps Scriptばかり触っています。