AWS API Gateway未收到Podio webhook验证

时间:2017-02-09 16:01:56

标签: webhooks podio

我已经设置了API Gateway& Lambda接收Podio的webhooks。我已经在Podio中使用API​​网关端点设置了webhook,并设置了lambda函数来注销收到的事件,只是为了检查它是否正在接收请求。

端点当前设置为接收任何类型的请求。我最初只是设置它来接收POST请求,但因为它没有收到任何东西我打开它。

因为API Gateway端点在我从其他各种POST / GET请求站点测试时工作,所以我在旧的php服务器上设置了一个测试端点,它从Podio接收了钩子验证。

为什么要么:

  • Podio没有向API网关发送挂钩请求?

  • API Gateway未接收Podio的帖子?

1 个答案:

答案 0 :(得分:0)

在我发现如何打开API网关的CloudWatch日志之后,解决了这个问题。我发现发送的数据不像我期望的那样是JSON格式,而是x-www-form-urlencoded。 然后我设置了一个映射模板:

#set( $inputRoot = $input.path('$') )
#set( $item = {} )
{
    #foreach( $param in $inputRoot.split('&') )
        #set( $t = $param.split('=') )
        "$t[0]":"$t[1]",
    #end
    "null":"null"
}

处理钩子验证请求以及Podio的webhook帖子,然后这个映射数据成功传递给Lambda。

我在末尾使用“null”:“null”所以我可以运行简单的foreach循环并仍保留有效的JSON输出