2017-05-02 42 views
0

我試圖通過PUT請求刪除上體位的任務自定義字段的值。JSON格式? PUT過程中錯誤的請求設置體位法的自定義字段

基於我派人過來創建一個自定義字段值任務的原始JSON數據和the documentation here這是這個應該如何看我最好的猜測:

let data = {custom_fields: { ASANA_CUSTOM_FIELD_ID_NUMBER: null }}; //struggling here 
updateTask(ASANA_TASK_ID_NUMBER, data); 


function updateTask(id, data) { 
    return put(`https://app.asana.com/api/1.0/tasks/${ASANA_TASK_ID_NUMBER}`, data); 
} 

function put(url, data) { 
    return makeRequest({ 
    "url": url, 
    "headers": {"Authorization": "Bearer " + accessCode()}, 
    "type": "PUT", 
    "data": data 
    }) 
} 

但我得到的錯誤:

status:400 Bad request 
custom_fields: Value cannot be an array: [] 

這似乎冗長的解決辦法,除非我嘗試過每種格式,我可以想出來,我沒有運氣的工作。我知道put函數適用於更新任務的其他字段,並且我發現與null之外的實際編號相同的錯誤。

+0

能否請您運行帶有'捲曲-v'這一請求。這會讓您更容易嘗試並重現您的問題。您的請求可能會發送formdata而不是JSON,這可能會導致對象被解析爲空數組。 – Jeff

回答

0

什麼類型的自定義字段的是你要修改?請注意,PUT請求的格式取決於您要修改自定義字段的類型:

文本類型的自定義字段通過傳遞

的類型數量的自定義字段中設置被傳遞設置custom_field_id:number

類型枚舉的自定義字段通過傳遞custom_field_id:enum_value_id

關於錯誤消息集,存在與自定義字段的特質,其中的寫入有效載荷的格式比你從重新接收響應略有不同廣告請求。具體而言,讀取返回數組中的自定義字段,而寫入自定義字段數據只是沒有數組的對象。