在测试步骤中,我找不到从网站到zapier应用程序的可接受响应内容或代码状态的信息。
我在Laravel和Zapier应用程序上都有我的网站。在我的Zapier应用程序中,我有一个操作:“创建新项目”。我根据the example进行了“创建”。除测试步骤外,一切正常。我测试了以下zap:
We had trouble sending your test through. Could not handle special, non-standard characters. Please contact support
。 奇怪的是,该项目已成功创建。因此,我认为问题出在我的网站对zapier的响应中:
// creates/project.js
// My perform function:
perform: (z, bundle) => {
const promise = z.request({
url: `${process.env.BASE_URL}/api/folder`,
method: 'POST',
body: JSON.stringify({
title: bundle.inputData.title,
}),
headers: {
'content-type': 'application/json',
}
});
return promise.then((response) => JSON.parse(response.content));
}
//ZapierController.php
public function addFolder(Request $request)
{
// Made record to DB, and other, after this returned same data which in request
return response()->json(['title' => $request['title']]);
}
预期结果-成功测试“测试此步骤”。谁能帮我吗?
答案 0 :(得分:0)
Zapier Platform团队的David在这里。
我已经回答了您的支持请求,但我想在这里答复,以防其他人遇到相同的问题。
当您在cli上运行zapier logs
时,根本问题就很清楚了:
== Log
Unhandled error: CheckError: Invalid API Response:
- Got a non-object result, expected an object from create ("title")
What happened:
Executing creates.сFolder.operation.perform with bundle
Invalid API Response:
- Got a non-object result, expected an object from create ("title")
您的服务器可以使用任何2xx状态代码进行答复,但是输出必须是有效的json。像{"title": "my title here"}
之类的东西肯定可以工作。用户发现获取有关他们刚刚创建的项目的信息更有用,因此名称,ID等会更好。
至于为什么这会成为字符编码问题,我一无所知。不过,我们计划深入其中!