【发布时间】:2020-12-02 11:26:10
【问题描述】:
我一直在尝试根据 latest version of Asana's API 更新 custom_fields,与 this post 非常相似,但使用更高版本的 API(例如,我需要使用 update_task 方法)。我可以更新任务顶层的字段,但 custom_fields 对象被证明更新更具挑战性。例如,我有很多自定义字段,我正在尝试更新一个名为“Update”的测试字段,并将 text_value 设置为“Hello”...
import asana
asanaPAT = 'myToken'
client = asana.Client.access_token(asanaPAT)
result = client.tasks.get_tasks({'project': 'myProjectID'}, opt_pretty=True)#, iterator_type=None)
for index, result in enumerate(result):
complete_task = client.tasks.find_by_id(result["gid"])
task_name = complete_task['name']
task_id = complete_task['gid']
custom_fields = complete_task['custom_fields']
#I can easily update top-level fields like 'name' and 'completed'...
#result = client.tasks.update_task(task_id, {'name': task_name + '(new)'}, opt_pretty=True)
#result = client.tasks.update_task(task_id, {'completed': False}, opt_pretty=True)
for custom_fieldsRow in custom_fields:
if custom_fieldsRow['name'] == "Updated":
#custom_fieldsRow['text_value'] = 'Hello'
#finished loop through individual custom fields, so update on the level of the task...
#client.tasks.update_task(task_id, {custom_fields}, opt_pretty=True)
manualCustomField = {'data': { 'custom_fields': {'gid': 'theGIDOfCustomField', 'text_value': 'Hello'} }}
resultFromUpdate = client.tasks.update_task(task_id, manualCustomField, opt_pretty=True)
正如您在上面看到的,我开始尝试遍历 custom_fields 并在稍后更新之前对特定字段进行更改。但现在我什至试图手动设置 custom_field 数据(我的代码的最后一行),但它什么也没做(没有错误,但不会改变我的任务)。我完全没有想法解决这个问题,所以感谢任何关于我哪里出错的反馈。
【问题讨论】:
标签: python python-3.x asana asana-api