我将有各种各样的URL,它们都包含相同的查询参数:
https://www.example.com/landing-page/?aid=1234
我想通过在URL中搜索“ aid”查询参数来提取“ 1234”。
JavaScript将在Zapier中运行:
Example javascript block in Zapier
Zapier注意:我们应该通过设置为名为inputData的变量的对象为您的代码(字符串)提供哪些输入数据?
我一般没有太多的JavaScript或编码经验,但是最终结果将是4位数的“ aid”值,当通过Webhook发布到API时,我将引用该值。
编辑:我检查了相似的答案并赞赏了链接,但是我不确定如何在Zapier中使用提供的答案来使用“ inputData”和“ url”。
答案 0 :(得分:1)
Zapier Platform团队的David在这里。
尽管上面的注释将您引向了正则表达式,但我还是建议您使用一种更为本地化的方法:实际解析网址。 Node.js有一个很棒的标准库可以做到这一点:
// the following line is set up in the zapier UI; uncomment if you want to test locally
// const inputData = {url: 'https://www.example.com/landing-page/?aid=1234'}
const url = require('url')
const querystring = require('querystring')
const urlObj = url.parse(inputData.url) /*
Url {
protocol: 'https:',
slashes: true,
auth: null,
host: 'www.example.com',
port: null,
hostname: 'www.example.com',
hash: null,
search: '?aid=1234',
query: 'aid=1234',
pathname: '/landing-page/',
path: '/landing-page/?aid=1234',
href: 'https://www.example.com/landing-page/?aid=1234' }
*/
const qsObj = querystring.parse(urlObj.query) // { aid: '1234' }
return { aid: qsObj.aid }
根据您对要查找的数据始终存在的信心,您可能需要在此处进行一些备用,但这可以非常可靠地找到要查找的参数。您还可以在此代码步骤后加上Filter
,以确保依赖于aid
的后面的步骤在丢失时不会运行。
让我知道您是否还有其他问题!