使用Asana Python API访问可选字段

时间:2019-03-22 17:12:00

标签: python json api asana

在通过Asana的Python API Tasks.find_by_project()进行调用时,我试图获取其他字段。我的通话代码是:

project_tasks = Tasks(self.client).find_by_project(project_gid, opt_fields= ["name", "memberships", "gid"])

我得到:

{'id': 408541814417314, 'gid': '408541814417314', 'memberships': [{}], 'name': 'Reports - Develop quality control report to run for MES'}

似乎我只能访问由紧凑任务记录填充的字段,但是我需要其他字段,并且希望获得它们而无需重新遍历所有任务并获得完整任务。奇怪的是,它返回一个空列表,但是当我查看完整的任务记录时,该任务就有成员资格。

我看到了这个问题,似乎很相似,但是给定的(尝试的)解决方案对我不起作用(我没有其他字段): How can I access custom fields from Asana API using Python?

1 个答案:

答案 0 :(得分:1)

以防万一其他人遇到此问题,我与Asana一起工作以弄清楚这个问题。 memberships是不可调用的,您必须调用Tasks(self.client).find_by_project(project_gid, opt_fields= ["name", "memberships.section", "gid"])Tasks(self.client).find_by_project(project_gid, opt_fields= ["name", "memberships.project", "gid"]),显然也可以调用opt_expand=['memberships']来获取所有数据。

来自asana:

  

感谢您的耐心!

     

我们已收到平台团队的回覆。你是什​​么   目前正在经历预期的行为,但这不是直观的,   因为成员资格对象本身没有任何数据。

     

如果要获取嵌套数据,可以指定要使用的数据   想要opt_fields = [''memberships.project','memberships.section']在   他们的opt_fields请求。另一种选择是使用   opt_expand = ['memberships']获取所有数据。

     

希望这会有所帮助!让我知道还有什么可以帮您的吗