3

この疑似コードに含まれるアイデアを実現する Google Script を作成しようとしています。

access a specific Google tasklist

for each task in that tasklist {
    if the task is completed {
        perform an operation
    }
}

スクリプトが特定のタスクリストにアクセスすると、未完了のタスクの情報しか取得できず、完了したタスクが消えてしまったように見えるという問題が発生しました。

このアイデアは、最初は簡単に思えました。「特定のタスクリスト内のタスクをリストする」ことになっているGoogleのTasks Service Webページからコードをコピーし(https://developers.google.com/apps-script/advanced/tasks)、forループ内にifステートメントを1つ追加しました:

function listTasks(taskListId) {
  var tasks = Tasks.Tasks.list(taskListId);
  if (tasks.items) {
    for (var i = 0; i < tasks.items.length; i++) {
      var task = tasks.items[i];

      Logger.log('Task with title "%s" and ID "%s" was found.',
                 task.title, task.id);

      if (task.status == "completed") {
          //perform operation
      }
    }
  } else {
    Logger.log('No tasks found.');
  }
}

しかし、ログを確認したところ、未完了のタスクはすべてリストされていましたが、完了したタスクはリストされていませんでした。完了したタスクのみを含むタスクリストでスクリプトを実行しようとしましたが、ログ出力は「タスクが見つかりません」でした。

特定のタスクリストで完了したタスクを見つける方法を知っている人はいますか? この他の投稿で説明されているように、Zapier が完了したタスクの操作を実行するという事実に基づいて、これは可能であると思われます: Google タスクが「完了」とマークされたときに Google スクリプトをトリガーする方法

4

3 に答える 3