Добавьте строку в таблицу Google, когда задачи Google будут выполнены. - PullRequest
0 голосов
/ 12 октября 2018

Мне нужен скрипт приложений Google, который должен прочитать выполненные задачи Google и добавить их в виде строки в таблицу Google. Кто-нибудь может мне помочь

1 Ответ

0 голосов
/ 09 февраля 2019

Подробнее https://developers.google.com/apps-script/advanced/tasks

Требуется применить необязательный аргумент showHidden = true для получения выполненных задач.

В редакторе сценариев откройте меню Ресурсы - Дополнительные службы Google и включите «Задачи API»».Тогда попробуйте этот код:

function myFunction() {
  getCompletedTasks(getTaskListByTitle('ToDo'));
}

function getTaskListByTitle(titleTasksList) {
  if (typeof titleTasksList === 'undefined') { titleTasksList = 'default'; }
  var rezultId = 0;
  var response = Tasks.Tasklists.list();
  var taskLists = response.items;
  if (taskLists && taskLists.length > 0) {
    for (var i = 0; i < taskLists.length; i++) {
      var taskList = taskLists[i];
      if (titleTasksList == 'default') {
        rezultId = taskList.id; //return first item
        break;
      } else {
        //Logger.log('%s (%s)', taskList.title, taskList.id);
        if (titleTasksList == taskList.title) {
          rezultId = taskList.id;
          break;
        }
      }
    }
  } else {
    Logger.log('No task lists found.');
  }
  return rezultId;
}

function getCompletedTasks(taskListId) {
  var optionalArgs = {
    maxResults: 100,
    showHidden: true  
  };
  var tasks = Tasks.Tasks.list(taskListId, optionalArgs);
  var SPREADSHEET = SpreadsheetApp.getActiveSpreadsheet();
  var rngStartReport = SPREADSHEET.getRange('A1');
  var k = 0;
  if (tasks.items) {
    for (var i = 0; i < tasks.items.length; i++) {
      var task = tasks.items[i];
      rngStartReport.offset(k, 0).setValue(task.title);
      rngStartReport.offset(k, 1).setValue(task.status); 
      k++;
      Logger.log('Task with title "%s" and ID "%s" was found.',
                 task.title, task.id);
    }
  } else {
    Logger.log('No tasks found.');
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...