Zapier脚本编写:捕获错误和重写响应
我正在整合的应用程序在搜索没有找到Zapier认为是错误的匹配项时返回400错误的请求。Zapier脚本编写:捕获错误和重写响应
如何捕获错误并返回[]告诉Zapier没有匹配?
这里的得到的现有post_search代码:
match_person_email_post_search: function(bundle) {
console.log(bundle.response.content);
var res = JSON.parse(bundle.response.content);
var data;
if(res.person!==null)
{
data = [ res.person ];
}
else
{ data = []; }
return data;
},
我应该提一下我在这个脚本菜鸟!
谢谢!
只要搜索API结果返回某些内容,您就应该能够使用Zapier脚本捕获该结果。假设你Zapier搜索键是contact_data
,这里的功能是什么样子:
var Zap = {
search_contact_post_search: function(bundle) {
return bundle.response.content;
}
};
所以,你可以检查(该函数内),如果数据是空的或含有除搜索数据以外的东西,只是返回一个空array:
var Zap = {
search_contact_post_search: function(bundle) {
var response_content = JSON.parse(bundle.response.content);
if (!response_content.some_field) {
return [];
}
}
};
谢谢Matt,非常感谢回复!我已经更新了我的帖子,包括现有的pre_search代码(我没有写 - 我是一个初学者,这个脚本的东西)。现在只要阅读它,看起来这个代码应该已经可以做到,但事实并非如此。 –
该函数现在返回什么?你能分享一下'res'的样子吗? – Matt
对不起马特,我不确定什么'res'是根本。我已经和Zapier支持人员交谈过,他们给了我这个: 'match_person_email_post_search:function(bundle){ if(bundle.response.status_code == 400){ return []; } //你处理的其余部分在这里完成 } ' 我做到了(https://www.dropbox.com/s/2q3jzuag5s3znx7/nb_zapier%20app_issue400-2.png?dl=0),但我认为我的语法错误,因为它不起作用。感谢您对我迄今为止缺乏理解的耐心! –
请考虑包括代码,以便我们可以更好地理解您的问题。截至目前,我不知道你在连接什么,以及你正在使用什么语言/工具。 – mam8cc
如果你正在整合应用程序,如果没有找到搜索匹配,你不能调整搜索输出(并且它只是返回'[]')? – Matt
@ mam8cc发布更新现有的Zapier代码。 –