Я создаю пользовательскую интеграцию в Zapier и столкнулся с проблемой, при которой вызываемый мной API-вызов (для Mavenlink) возвращает объект с произвольным ключом (235896815 в приведенном ниже примере). Однако Zapier может использовать массивы (не объекты) только при возврате результатов. Мне нужен способ получить массив в возвращаемом объекте, не зная, что это за ключ. У меня была одна потенциальная идея - всегда возвращать результаты первого объекта по индексу. Это был бы лучший способ решить это? Если так, как бы я поступил так? Открыты и для других идей.
Пример вывода:
{
"235896915": {
"can_edit": true,
"subject_type": "story",
"account_id": 4150797,
"subject_id": 390078195,
"updated_at": "2019-03-21T14:26:16-07:00",
"value": [
1406325
],
"display_value": "Nicole Patel",
"setter_id": "10149395",
"custom_field_id": "181017",
"created_at": "2019-03-21T14:26:16-07:00",
"custom_field_name": "Active Assignee",
"type": "single",
"id": "235896915"
}
}
и вот звонок, который я делаю:
const options = {
url: `https://api.mavenlink.com/api/v1/custom_field_values.json?subject_type=story&with_subject_id=${bundle.inputData.subject_id}`,
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${bundle.authData.access_token}`,
'Accept': 'application/json'
},
params: {
'subject_id': bundle.inputData.with_subject_id,
'id': bundle.inputData.id,
'display_value': 'Active Assignee'
}
}
return z.request(options)
.then((response) => {
response.throwForStatus();
const results = z.JSON.parse(response.content);
// You can do any parsing you need for results here before returning them
return results.custom_field_values; //return object in an array
});
```