从 Asana REST 获取所有任务和子任务的列表 API

Get a list of all tasks and subtasks from Asana REST API

我试图通过点击 REST 端点来获取 Asana 项目的所有任务和子任务 https://app.asana.com/api/1.0/tasks?project=1234&opt_fields=... 但这只给出了任务,而不是所有子任务或子子任务等。我没有看到访问所有子任务的任何其他端点,看起来我只能通过将 subtasks.name 等作为 opt_fields 的一部分或通过 /tasks/987/subtasks 端点访问子任务来获取此信息。但是,这具有在后端速率受限的情况下发出许多远程请求的所有缺点。

目前没有获取所有任务、子任务和子任务的方法。您最接近的是添加 subtasks.namesubtasks.id 等。在这种情况下,我可以到达端点 https://app.asana.com/api/1.0/tasks?project=1234&opt_fields=id,name,subtasks.name,subtasks.id,etc,并且我只需要访问子任务中的几个字段。从端点获得结果后,我可以像这样提取子任务(在 ruby 中):

tasks = get_tasks_from_api()
subtasks = tasks.map { |t| t.subtasks } # this is an array of arrays [[x,y],[z]] etc
subtasks = subtasks.flatten # make into just an array [x,y,z]
subtasks = subtasks.compact # make sure there are no nils

tasks = tasks + subtasks # this will be all tasks followed by all subtasks