javascript - Zapier 重新格式化 Get Fetch 响应

标签 javascript json fetch zapier

我在使用 Zapier 时遇到一些问题并正在获取一些信息。

我想要做的是获取一个 url,接收一个 json 响应并将整个响应发送回下一步以进行额外的处理。

Zapier 似乎忽略了回调或我编写的任何其他代码,只是向下一步发送“zapier 格式”响应,但不是 json 格式。以下是代码示例:

向客户提出请求

var authHeaders = {
    'Authorization': 'Bearer xxxx',
    'Content-Type': 'application/json'
}
var options = {
  method: 'GET',
  headers: authHeaders
};

fetch('www.url.com', options)
  .then(function(res) {
    return res.json();
  })
  .then(function (json) {
    callback(null, json)
  })
  .catch(callback);

下拉列表中的 Zapier 下一步选项:

input.name === harry,bob,sally
input.color === red, blue, green

客户的回应

{
  cats: [
    {name: 'harry', color: 'red'},
    {name: 'bob', color: 'blue'},
    {name: 'sally', color: 'green'},
    {name: 'mary', color: 'green'},
    {name: 'george', color: 'green'}
  ]
} 

我在下一个 zapier 步骤中想要的是客户端响应,而不是 Zapier 解释,这样我就可以正常循环和解析 json 对象。

cats.filter(function(cat){
  return cat.color === 'green'
})

我希望所有绿色的猫都返回到下一步。如果所有的猫属性都在不同的 zapier 字段中,我该怎么做?

我尝试的另一件事是在发出 GET 请求后重新格式化 zapier 下一步响应,但 zapier 不听我的。

fetch('www.url.com', options)
  .then(function(res) {
    callback(null, {dog: 'yorkie'})
  })
  .catch(callback);

上面的代码应该只发送我传递的对象,{dog: 'yorkie'},但它返回相同的“zapier 格式的猫响应”。

此外,当我没有遵循 zapier 回调格式而只是放入 fetch 请求时,它也会将“zapier 格式化猫响应”发送回下一步。

fetch('www.url.com', options)

最佳答案

您可能希望在 JS 步骤中完成所有过滤,并且仅发出您关心的记录,而不是发出所有记录并创建过滤它们的新步骤。

fetch('www.url.com', options)
    .then(function(res) {
        return res.json();
    })
    .then(function (json) {
        json = json.filter(record => record.color === 'green');
        callback(null, json);
    })
    .catch(callback);

如果我们获取带有嵌套列表的对象 - 在后续步骤中可能很难将它们恢复为原始 JS 对象格式 - 因此最好的选择是返回一个没有嵌套数组的对象。

关于javascript - Zapier 重新格式化 Get Fetch 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43274547/

相关文章:

javascript - React.js 在获取完成之前渲染

javascript - Vuejs 从远程源获取图像

javascript - 如何在 Google Analytics 中对虚拟浏览量进行分类?

c# - javascript中的日期解析问题

java - 将 JSON 文件解析为 Java 对象

json - 有没有一种直接的方法可以将存储在 HDFS 中的数据转换为 JSON?

javascript - GET 请求 200 转 json

javascript - 单击后隐藏菜单(淡出)

javascript - Angular SCE 信任 rootScope 函数中的 HTML 变量

javascript - Internet Explorer 11中的<audio>标记兼容性