我一直在構建Facebook Messenger bot,並且無法在我的服務器上的webhook上接收Messenger消息。我一直在使用發送API & Webhooks幾個星期,並且直到今天都沒有麻煩來回發送消息給用戶。我可以通過Facebook開發者控制檯驗證webhook,並且可以通過對我的/webhook
路由進行GET調用來看到驗證。但是,當我從我的個人帳戶發送我的機器人(應該POST到/webhook
)時,我沒有看到任何消息數據被轉發到我的服務器。路線永遠不會被擊中。我要發送的頁面已訂閱到Facebook開發人員控制檯中的應用程序。什麼奇怪的是,我可以手動打/webhook
用捲曲的消息:Facebook Messenger bot未發佈到webhook
curl -i -X POST -H 'Content-Type: application/json' -d
'{"object":"page","entry":
[{"id":43674671559,"time":1460620433256,"messaging":[{"sender":
{"id":MY_ACTUAL_FACEBOOK_USER_ID},"recipient":
{"id":MY_PAGE_ID},"timestamp":1460620433123,"message":{"mid":"mid.1460620432888:f8e3412003d2d1cd93","seq":12604,"text":"Testing
Chat Bot .."}}]}]}' "https://XXXXX.ngrok.io/webhook"
我使用ngrok轉發到我的本地電話。以上curl
命令正常工作,這意味着我可以看到我的服務器上發送的消息/webhook
。對我來說,這表明問題來自Facebook,這意味着它不在我的控制之下。有什麼我錯過了嗎?我還能檢查什麼,爲什麼這會失敗呢?