查询辅助对象的WorkFront/AtTask API

查询辅助对象的WorkFront/AtTask API,api,attask,workfront-api,Api,Attask,Workfront Api,我正在使用WorkFront/AtTask API,在查找任务时,我希望将它们过滤到包含特定角色的项目中 使用/TASK/search/?fields=project:roles它将向我显示角色,但我不确定如何筛选这些角色 直接访问第三级对象(失败) 我尝试了/TASK/search/?project:roles:ID=aaaaaaaaa,但API返回(422)个不可处理的实体 从父对象访问(工作) 任务->项目->/PROJ/search/?角色:ID=aaaaaaaaa工作正常,但涉

我正在使用WorkFront/AtTask API,在查找任务时,我希望将它们过滤到包含特定角色的项目中

使用
/TASK/search/?fields=project:roles
它将向我显示角色,但我不确定如何筛选这些角色

  • 直接访问第三级对象(失败)
我尝试了
/TASK/search/?project:roles:ID=aaaaaaaaa
,但API返回(422)个不可处理的实体

  • 从父对象访问(工作)
任务->项目->
/PROJ/search/?角色:ID=aaaaaaaaa
工作正常,但涉及到对API的子查询,成本高且速度慢

  • 从次对象的ID字段访问(工作)
/TASK/search/?project:ownerID=bbb
,因为它引用的是辅助对象的字段,而不是另一个对象。但我只能通过单实例引用来实现这一点,不知道如何访问集合的ID字段而不将它们作为对象引用


那么,我如何筛选或访问次对象的集合呢?我可以在单个API查询中查看它们,但似乎无法进行筛选


任务>它的项目>按角色筛选

到目前为止,我能想到的最佳解决方案是:

  • 根据角色拉取可接受项目的列表

    • /PROJ/search/?角色:ID=aaaaaa&…
  • 将项目列表保存在内存中

  • 拉出有问题的任务列表
    • /TASK/search/?…
  • 从步骤2中删除没有项目ID的任务

  • 这样,只需要2个查询,项目查询在条目大小和数量方面的影响应该最小

    此功能在Workfront中不可用,无论是通过API还是通过报表等内置工具。这是由于数据库方面的限制。看到这个问题后,我在Workfront与我的企业支持团队进行了交谈,并收到了DBA的确认

    您提供的解决方案是您能做的最好的——将此查询拆分为参数的前半部分和后半部分,并在代码中过滤结果