【问题标题】:Tasks API using Google Apps Script (complete task)使用 Google Apps 脚本的 Tasks API(完成任务)
【发布时间】:2012-05-13 18:49:49
【问题描述】:

我正在尝试使用 Tasks API 将任务的状态设置为已完成。它显示代码已成功完成,但未将任务标记为已完成。 此外,当我尝试在更新后获取任务的状态时,它显示状态为“needsAction”。 这是我的代码

function setTaskStatus(){
  // Suppose a task with name "MyTaskListName" is contained
  //within task list with name "MyTaskName"

  var tasklist = Tasks.Tasklists.list().getItems();
  var title = 'MyTaskListName';
  var id;
  for(var i in tasklist){
    if(title == tasklist[i].getTitle()){
      id = tasklist[i].getId();
    }
  }

  //Get the task list items
  var tasks = Tasks.Tasks.list(id).getItems();
  for(var i in tasks){
    if(tasks[i].getTitle() == 'MyTaskName'){
      tasks[i].setStatus("completed");// set status completed
      Logger.log(tasks[i].getStatus());// this shows that the task has completed
      //But it does not reflect actually
    }
  }
}

【问题讨论】:

  • 我已经运行了您的代码,并且该任务已成功标记为“已完成”。请确保您没有混淆 Task 和 TaskList 的名称。 (从您在函数顶部的内联注释来看,您实际上是在将两者混为一谈)
  • 直到现在我才看到你的评论......评论是混杂的,但代码是正确的;)对我不起作用

标签: google-apps-script google-tasks-api google-tasks


【解决方案1】:

我需要添加一行

Tasks.Tasks.update(tasks[i], tasklistId, tasks[i].getId());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-30
    • 1970-01-01
    • 2014-08-25
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多