1
我使用跑道,我希望能夠使用PODIO RESTful API更新項目。如何使用REST API使用新值更新字段?
我更具體地想將PUT
純文本轉換爲項目字段。我已根據instructions成功更新了相關字段。但是更新導致以「無值」更新字段。我無法找到如何讓API使用我提供的值更新字段。這是我的代碼:
var path = '/item/';
var item_id = 346397274;
var value = 'value';
var field_id = 108976076;
var update = "foo"
var update_length = update.length;
var options = {
'host': 'api.podio.com',
'port': 443,
'path': path + item_id + '/value/' + field_id,
'accept': 'application/json',
'method': 'PUT',
'headers': {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length': update_length,
'Authorization': 'Bearer ' + access_token
}
}
var req = https.request(options, function(res) {
})
req.write(update);
req.end();
我想我的請求體有些不同。但我嘗試了各種組合,但我無法實現它的功能。當我運行一個GET
請求有關該字段返回的數據如下:
{ status: 'active',
type: 'text',
field_id: 108976076,
label: 'Titel',
values: [ { value: 'Old Value' } ],
config:
{ default_value: null,
description: null,
settings: { format: 'plain', size: 'small' },
required: false,
mapping: null,
label: 'Titel',
visible: true,
delta: 0,
hidden: false,
unique: false },
external_id: 'titel' }
我也試圖把在請求體如下:var update = querystring.stringify({"value": "foo"});
和:
var update = {"values": [querystring.stringify({
"value": "foo"
})]
};
var update = querystring.stringify(update);
我在做什麼錯誤?
謝謝。這個問題似乎是我用''Content-Type:'application/x-www-form-urlencoded'這個問題。這可以用於身份驗證的目的,但顯然不是爲了請求。任何想法爲什麼? – rabbitco
可能是因爲這個請求body是'json'而不是'x-www-form'? –
我不這麼認爲,因爲我在請求主體上使用了'querystring.stringify()'.... – rabbitco