如何处理 Zapier 中的错误?

Posted

技术标签:

【中文标题】如何处理 Zapier 中的错误?【英文标题】:How to handle errors in Zapier? 【发布时间】:2019-11-07 13:31:07 【问题描述】:

我正在构建与 Zapier (https://zapier.com/platform) 的集成,我想抛出一个错误,但它似乎无法正常工作。

我的验证码(为了这篇文章的目的而简化了):

if($_POST['api_key'] === $row['api_key']) 
    $array = ['success' => 'yes'];
    echo json_encode($array);
 else 
    echo "Sorry but that is the invalid API token. Please try something else";

当我尝试在 Zapier 开发者平台上进行测试时,我从他们那里收到了这条消息:

解析响应时出错。我们得到:“抱歉,这是无效的 API 令牌。请尝试其他方法”。这可能是应用程序的问题。请通过contact@zapier.com联系支持

但是 Zapier 想让我抛出一个没有“解析响应错误”和“这可能是应用程序问题......”部分的错误......

我该如何解决这个问题?

【问题讨论】:

它可能需要一个您没有提供的特定 JSON 格式的响应。 @AlexHowansky 是的,我知道,但如果我提供 JSON 响应,它会显示“成功”。不确定这是否是它应该实际显示的内容...... 【参考方案1】:

仅发送验证失败的消息是不够的 - 您还需要发送适当的 HTTP 响应代码。在这种情况下,您可能需要 403 或 401。我不知道该怎么做,但 plenty of questions 会为您指明正确的方向。

此外,您可能希望返回 JSON 而不是纯文本。这可以很简单:"message": "invalid token"。这将帮助客户更好地向用户展示该信息。

【讨论】:

嘿@xavdid - 我尝试发送这个 JSON 响应,但 Zapier 仍然没有选择“消息”键下的值来向用户显示相同的值。有什么我想念的吗。只是想让你知道我也在发送正确的 HTTP 响应代码。 Zapier 不会自动获取message 键,除非您专门寻找它。我只是用它作为一个简单的例子。您需要手动处理该错误

以上是关于如何处理 Zapier 中的错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 VBA 中的 DLL 错误?

如何处理 NSPersistentContainer.loadPersistentStores 中的错误?

如何处理mio中的错误?

如何处理完成闭包中的多个错误

如何处理 Retrofit 2.0 中的错误

如何处理淘汰订阅中的错误