我在通过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?
如果有其他人遇到这个问题,我与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']
来获取所有数据。
来自体式:
谢谢你的耐心!
我们从平台团队那里听到了有关此问题的回复。您正在经历的是当前预期的行为,但它不直观,因为成员资格对象没有自己的任何数据。
如果您想获取嵌套数据,可以在opt_fields请求中指定您想要opt_fields = ['memberships.project','membership.ssection']的数据。另一种选择是使用opt_expand = ['memberships']来获取所有数据。
希望这可以帮助!如果还有什么我可以帮助您,请告诉我。