尝试移动 Google 任务时出现"Extra args block must be a javascript object literal."错误



我正在尝试更改使用Google脚本创建的新Google任务的父。由于必须使用"移动"更改父母,因此我正在尝试以下操作:

var oldtask = Tasks.Tasks.get(TASK_LIST_ID, TASK_ID);
var newtask = Tasks.newTask();
newtask.title = oldtask.title;
newtask.position = oldtask.position;
newtask.notes = oldtask.notes;
Tasks.Tasks.move (TASK_LIST_ID,newtask.id,oldtask.parent);

最后一行投掷额外的ARGS块必须是JavaScript对象字面的。从Google脚本编辑器运行时。我尝试了多种不同格式,并且感觉这很容易解决。

这是我在这里的第一篇文章,所以如果您需要更多信息,请告诉我。

我相信我已经弄清楚了。javaScript对象字面是JSON样式的字符串。因此:

var arg = {
  showCompleted: false
};

或在上下文中使用:

var arg = {
      showCompleted: false
    };
var id = 'MY_TASK_ID'
var tasks = Tasks.Tasks.list(id,arg);
if (tasks.items) {
  for (var i = 0; i < tasks.items.length; i++) {
    var task = tasks.items[i];
    Logger.log(task.title)
  }//for
}//if

在这种情况下,代码将仅在记录器中显示不完整的任务的标题,showCompleted: false排除了任何已完成的任务

参考:
https://www.w3schools.com/js/js_objects.asp
https://www.dyn-web.com/tutorials/object-literal/

API带有所有参数
https://developers.google.com/tasks/v1/reference/tasks/list

我希望这会有所帮助

相关内容

最新更新