2017-02-09 29 views
0

我已經設置了API網關& Lambda接收來自跑道的網頁鉤。我已經使用API​​網關端點在Podio中設置了webhook,並將lambda函數設置爲註銷接收到的事件,以檢查它是否正在接收請求。AWS API網關未收到跑道webhook驗證

端點目前設置爲接收任何類型的請求。我最初只設置它來接收POST請求,但因爲它沒有收到任何我打開它的東西。

因爲當我從其他各種POST/GET請求站點測試API Gateway端點時,我在舊的php服務器上設置了一個測試端點,並且它從Podio接收到了鉤子驗證。

爲什麼可以是:

  • 波迪奧不發送鉤請求API網關?

  • API網關沒有收到來自波迪奧帖子?
+0

能否請您更詳細解釋一下什麼是「API網關」你已經使用過,你是如何驗證它可以接收其他POST/GET請求的? –

+0

[API網關](https://aws.amazon.com/api-gateway/)可用於創建傳遞請求的數據的終點,在我的情況下爲Λ(https://aws.amazon .com/lambda /)函數。我已經用捲曲貼子,Chrome輕鬆擴展以及我們的一個開發站點的要求對它進行了測試。 – APW

+0

你能否也請分享一下你正在使用的web_hook url的例子? –

回答

0

解決方案是在我發現如何打開API Gateway的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" 
} 

它處理兩個鉤驗證請求也從波迪奧網絡掛接訊息,該映射數據,則成功地通過入λ。

我用的是「空」:「空」的結尾,所以我可以運行簡單的foreach循環,並仍然保留有效的JSON輸出