在通过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?
答案 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']获取所有数据。
希望这会有所帮助!让我知道还有什么可以帮您的吗