我在构建私有Zapier集成时遇到问题,因为Zapier只能将数组用作输出,而不能使用对象。我需要调用的数组被嵌套在我的API结果中的2个级别中,并且它需要调用的键是所调用任务的唯一变量(但我可以使其成为输入数据的一部分)。
因此,要获取正确的数组,javascript将需要类似于"return results.custom_field_values[bundle.inputData.id]"
,但我找不到一种方法来使输入数据变量在类似结果中被接受。
这可能吗?我在支持文档中找不到解决方案。
这是我打的电话:
const options = {
url: `https://api.mavenlink.com/api/v1/custom_field_values.json?subject_type=story&with_subject_id=${bundle.inputData.subject_id}& custom_field_name=Active Assignee`,
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${bundle.authData.access_token}`,
'Accept': 'application/json'
},
params: {
'subject_id': bundle.inputData.with_subject_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[bundle.inputData.id];
});
当我只调用result.custom_field_values时,这就是我的结果:
{
"233451615": {
"can_edit": true,
"subject_type": "story",
"account_id": 4150797,
"subject_id": 385046515,
"updated_at": "2019-03-18T13:54:28-07:00",
"value": [
638945
],
"display_value": "Irma Davila",
"setter_id": "10976265",
"custom_field_id": "181017",
"created_at": "2019-03-05T07:00:15-08:00",
"custom_field_name": "Active Assignee",
"type": "single",
"id": "233451615"
}
}
我想做的是仅调用对象内的数组,在这种情况下,该数组为“ 233451615”(与ID相同)。但是,即使每次对象都不相同,也可以通过输入将其作为变量提供。
由于任何人愿意帮助!
答案 0 :(得分:0)
您尝试使用方括号表示法而不是点表示法吗?
类似这样的东西:
results.custom_field_values[{bundle.inputData.id}]
还要确保bundle.inputData.id
是正确的值。
答案 1 :(得分:0)
您需要使用[]
符号Ref
更改此
"return results.custom_field_values.{bundle.inputData.id}"
对此
"return results.custom_field_values[bundle.inputData.id]"