我遇到了Zapier JavaScript试图从API获取某些信息的一些问题。我成功地将Webhook GET zap用于相同的API,但没有使用JS。
编写代码的原因是因为我尝试获取然后立即对响应进行一些过滤,然后再将其发送到下一步。我现在陷入困境,因为我认为API的反应很细微。
var url = '...';
var username = '...';
var password = '...';
var auth = new Buffer(username + ':' + password).toString('base64');
var options = {
method: 'GET',
headers: {'Content-type': 'application/json', 'Authorization': auth, 'Accept': 'application/json'}
};
fetch(url, options)
.then(function(res) {
return res.json();
})
.then(function(json) {
json = json.filter(value => value.Item1bID === '1434');
callback(null, json);
})
.catch(callback);
基本上,Zapier错误是SyntaxError: Unexpected token A
和Object.parse (native) /var/task/node_modules/node-fetch/lib/body.js
以下是在Postman中进行GET时的响应片段:
{
"odata.metadata": "...",
"nextLink": "...",
"value": [
{
"ForwardingAddress@odata.navigationLinkUrl": "...",
"ForwardingAddress": [],
"Item1aID": "0000010774",
"Item1bID": "1434",
...},
...]
}
我怀疑错误是由于在“value”数组中找到的JSON对象字符串名称的大小写,但无法确定。