【问题标题】:Update custom_fields with Python in asana API在 asana API 中使用 Python 更新 custom_fields
【发布时间】: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


    【解决方案1】:

    抱歉,我发现我的错误,我只需要我的倒数第二行来阅读......

    manualCustomField = { 'custom_fields': {'theGIDOfCustomField':'Hello'} } 
    

    如果您问我,在 API 中执行此操作的方式有点奇怪(没有具体说明您将更新哪个字段或您正在使用哪个 id),但现在它终于起作用了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      相关资源
      最近更新 更多