首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在Google脚本任务API中创建子任务

如何在Google脚本任务API中创建子任务
EN

Stack Overflow用户
提问于 2014-05-02 07:19:26
回答 3查看 1.8K关注 0票数 2

我一直在尝试使用Google脚本任务API从电子邮件中创建新任务。我已经成功地创建了TasksList,并使用以下两种方法在这些列表中创建了任务。但是,我一直试图通过使用可选的“父”资源来创建子任务,但是运气却很差。我试图复制谷歌任务中可用的任务“缩进”功能,它使tak显示为前面任务的子任务。有人用API成功地让它工作了吗?

方法1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
taskListId = getTaskListID("My Projects");
var taskDetails = {
  title: "Task 1",
  notes: "This is a child task",
  parent: "Project A"
};
Tasks.Tasks.insert(taskDetails, tasklistId);

方法2 :-

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
taskListId = getTaskListID("My Projects");
var newTask = Tasks.newTask().setTitle(title);
newTask.setParent("Project A");
Tasks.Tasks.insert(newTask, tasklistId);

在这两种情况下,脚本都会在任务列表(“”)下创建一个任务("Task 1"),但我不能让它在现有任务(“项目A")下显示为子任务(缩进)任务。

有人能弄清楚这件事吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-29 04:20:38

实际上,@vijay-j是对的。不能直接设置任务位置。在创建子任务时,必须设置参数previousparent

请参阅https://developers.google.com/tasks/reference/rest/v1/tasks/insert

请参阅https://developers.google.com/google-apps/tasks/params

在Javascript中添加示例,创建具有两个子任务的任务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var taskListId = "add yours here";

var parentTask = Tasks.Tasks.insert({ title: 'Parent' }, taskListId);

var sub1 = Tasks.Tasks.insert(
  { title: 'Sub1' }, 
  taskListId,
  { parent: parentTask.id }
);

var sub2 = Tasks.Tasks.insert( 
  { title: 'Sub2' },
  taskListId,
  { parent: parentTask.id, previous: sub1.id}
);
票数 2
EN

Stack Overflow用户

发布于 2014-05-05 06:36:36

好吧,我终于找到了答案.

我在上面的代码中犯了一个根本错误,我假设任务的父设置是父任务名,而实际上它应该是任务API分配给它的父任务ID。

然后,我意识到,任务的父任务应该在插入到TasksList之后设置,而不是作为新任务初始化的一部分,下面是现在的样子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var taskListID = getTasklistId_(tasklistName);
var parentTask = getParentTask_(projectName,taskListID);
var taskDetails = {
  title: title,
  notes: notes,
  parent: parentTask["id"],
  position: parentTask["idx"]
};
var newTask = Tasks.newTask().setTitle(title);
newTask = Tasks.Tasks.insert(newTask, taskListID, taskDetails);
newTask.setParent(parentTask["id"]);

如您所见,我必须重置新任务的父任务。getParentTask_函数返回父任务ID和最后一个子元素位置以插入新任务。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function getParentTask_(taskName, taskListId) {
var tasks = Tasks.Tasks.list(taskListId);
  var taskID;
  var position;
  if (tasks.items) {
    for (var i = 0; i < tasks.items.length; i++) {
      var task = tasks.items[i];
      if(taskName == task.title){ 
        taskID = task.id;
        Logger.log('Task with title "%s" and ID "%s" was found.', task.title, task.id);
      }
      //lets pick up the last child task's position in order to insert the new task below
      if(taskID == task.parent) position = task.position;
    }
  } 
  if( taskID == null){
      var newTask = Tasks.newTask().setTitle(taskName);
      newTask = Tasks.Tasks.insert(newTask,taskListId);
      taskID = newTask.id;
      position = newTask.position;
   }
  var result = {
    id: taskID,
    idx: position
  };
  return result;
}

我希望上面的内容能够帮助人们更好地利用Google任务API进行创作。

PS:我用这个链接Wordpress WP项目管理器插件,它创建了新任务和评论的自动邮件程序。对于完整的实现,您可以看到这个职位

票数 1
EN

Stack Overflow用户

发布于 2015-08-20 22:27:54

为了将您的任务(子任务)置于其他任务(父任务)之下,您应该这样做:(下面的代码是Java语言):

第1步:仔细阅读本文档:使用任务参数,特别阅读有关父级和以前版本的内容。

步骤2:现在编写代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//first add parent step 
Task parentTask = service.tasks().insert(taskList.getId(), task). execute();

//now add child task say,session1
Task childTask=new Task();
childTask.setTitle("Session1");
Task response = service.tasks().insert(taskList.getId(), task). execute();

//now move this child task  under  parent task
service.tasks().move(taskList.getId(),response.getId()).setParent(parentTask.getId()).execute();

希望这能帮到别人!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23431545

复制
相关文章
FreeRTOS 任务调度 任务创建
FreeRTOS 的任务调度在 Source/include/task.c 中实现,包含了任务的创建、切换、挂起、延时和删除等所有功能。涉及到的链表组织见文章 <FreeRTOS 任务调度 List 组织> 。任务切换实现代码量比较大,因此关于任务调度这一块会分几个文章来描述,这一篇主要分析任务的创建的调用与实现。
orientlu
2018/09/13
3.3K0
FreeRTOS 任务调度  任务创建
创建任务与任务管理
上一次我们说过,在裸机编程中,通过while(1)大循环来按顺序执行我们的程序,除了中断之外,后面的程序是不可能打断前面的程序来执行的。而在我们的uC/OS III操作系统中,各个任务是完全独立的,各个任务具有自己的优先级,通常按照优先级高低来依次执行,其他的暂时不多说。今天主要说一下任务的创建与管理,还有消息队列。
飞哥
2020/07/10
1.1K0
创建任务与任务管理
C#嵌套任务和子任务
  任务嵌套就是指在一个任务中又创建了一个任务,而这个新建的任务,就被称为子任务。在没有特殊声明的情况下,父子任务是一起运行的,如SimpleNestedTask方法。   如果想让父子任务关联起来的话,需要在创建子任务的时候,增加参数TaskCreationOptions.AttachedToParent,将父子任务关联起来,这样父任务将等待子任务完成,才会完成。   如果使用Task<TResult>创建任务的话,这不需要使用TaskCreationOptions.AttachedToParent参数了,因为只要父任务使用了子任务的返回结果,父任务自然就会等待子任务完成。
Kiba518
2019/05/25
1K0
Linux中创建定时任务
在Linux上创建定时任务可以使用 crontab,我的机器是自带的,安装应该也不会很麻烦,具体的百度一下了。
渔父歌
2019/07/25
2.7K0
freeRTOS任务创建
我们曾经在公众号里给大家推送过关于freeRTOS在NXP kinetis KV4x上的移植,得到了猿友大量的反馈,很多猿友还是感觉对基础的一些东西不懂,今天我们就从基础的任务创建讲起,任务创建是RTOS学习中很重要的一步,因为你的应用就是基于大量的任务来实现的,那么在freeRTOS下如何来创建任务呢,首先打开任意一个移植好的例程或者我们移植的demo,找到task.h和tasks.c这两个文件里面定义声明了许多与任务相关的类型和函数。我们今天要讲的任务创建就来自这里。任务的创建主要有两个函数,先来看第一
用户1605515
2018/04/10
1.1K0
freeRTOS任务创建
如何在django中设置定时任务?
Django 作为后端Web开发框架,有时候我们需要用到定时任务来或者固定频次的任务来执行某段代码,这时我们就要用到Celery了。Django中有一个中间件:Django-celery
BigYoung小站
2020/05/04
2.7K0
如何在HUE上创建oozie Coordinator定时任务流
Coordinator能够将每个工作流Job作为一个动作(Action)来运行,相当于工作流定义中的一个执行节点(我们可以理解为工作流的工作流),这样就能够将多个工作流Job组织起来,称为Coordinator Job,并指定触发时间和频率,还可以配置数据集、并发数等。一个Coordinator Job包含了在Job外部设置执行周期和频率的语义,类似于在工作流外部增加了一个协调器来管理这些工作流的工作流Job的运行。
create17
2019/03/12
2K0
如何在 Linux 中列出 Cron 定时任务
本文最先发布在:https://www.itcoder.tech/posts/how-to-list-cron-jobs-in-linux/
雪梦科技
2020/05/25
14.5K0
如何在 Linux 中列出 Cron  定时任务
如何在windows下批处理脚本并定时执行任务
你还在为一些重复点点的事情而烦恼吗!今天给大家说说如何在windows下编写bat脚本取代我们重复繁琐的事情,请认真看完分享或许对你有帮助哦。
wencheng
2021/04/20
4.9K0
如何在windows下批处理脚本并定时执行任务
Task之任务的创建
我们在《任务是啥?》里提到过,Task可以看作是Stack和TCB组成的。因此taskSpawn()的第一步就是为Stack和TCB分配内存,然后初始化它们,最后将这个任务放入Ready队列。
Taishan3721
2019/07/10
2.6K0
linux创建定时任务
     */2 * * * * /bin/sh /home/admin/jiaoben/buy/deleteFile.sh 
似水的流年
2019/12/05
4.6K0
JS创建多个下载任务
//JS创建多个下载任务 function Down() { //文件名 var namearr = []; //文件路径 var hrefarr = []; $(".downs .col-md-4").each(function (index, item) { namearr.push(需要下载的文件名); hrefarr.push(需要下载的文件路径); }) for (var index = 0; index <
小语雀网
2022/05/06
12.1K0
[一学就会] 自动化脚本开发,搭配小白API接口批量处理任务
通过程序化的脚本处理,可以实现自动批量处理任务,例如任务的下发、任务的状态查询、任务的完成、业绩和产能交付的统计和结算等。通过集合 触动精灵+API接口 就可以快速实现自己想要的效果。做到自己控制自己的客户端、自己管理自己的数据,既快速又更安全。
dogstar
2023/04/22
8450
[一学就会] 自动化脚本开发,搭配小白API接口批量处理任务
Spring 中如何使用 @Scheduled 创建定时任务
2、含定时方法的类上添加注解:@Component,该注解将定时任务类纳入 spring bean 管理。
create17
2019/10/10
1.5K0
Spring 中如何使用 @Scheduled 创建定时任务
Spring Cloud Task 任务执行-通过调用 REST API 启动任务
Spring Cloud Task提供了REST API来启动任务。通过REST API启动任务使我们能够从其他应用程序或脚本中启动任务,从而进一步提高了任务的可用性和灵活性。
堕落飞鸟
2023/04/17
1K0
【CTR】MMoE:Google 多任务学习框架
基于神经网络的多任务学习已经过成功应用内许多现实应用中,比如说之前我们介绍的阿里巴巴基于多任务联合学习的 ESMM 算法,其利用多任务学习解决了 CVR 中样本选择偏差和样本稀疏这两大问题,并在实际应用场景中取得了不错的成绩。
阿泽 Crz
2020/07/21
2.4K0
【CTR】MMoE:Google 多任务学习框架
FreeRTOS(七):任务相关 API 函数
上一篇学习了 FreeRTOS 的任务基础知识,本文就正式学习如何使用 FreeRTOS 中有关任务的 API 函数。
Jasonangel
2021/12/27
6260
FreeRTOS(七):任务相关 API 函数
Linux crontab创建定时任务
最近在学校论坛上看到一个脚本,用路由器固件自动拨号,解决断网的问题,其中就用到了 crontab 这个命令,大致原理就是用 curl 去抓取上网登录页面,在线和不在线的页面是不同的,根据这个特征用 grep 命令正则筛选出来,每分钟运行一次脚本,如果掉线的话,就将登陆账号和密码通过 POST 请求发送给页面,登陆成功就能上网
棒棒鸡不棒
2022/09/01
4.9K0
点击加载更多

相似问题

支持任务脚本中的子任务

31

子任务如何创建子任务

10

通过Google Apps脚本访问Google任务API

13

asana API:如何创建子任务

10

从Google脚本创建Asana任务

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文