2017-06-21 153 views
0

我一直在構建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,這意味着它不在我的控制之下。有什麼我錯過了嗎?我還能檢查什麼,爲什麼這會失敗呢?

回答

0

上述問題最有可能發生在Messenger - >settings - >webhooks窗口,其中在底部必須選擇一個Page才能訂閱應用程序(webhook)。

此外,有時如果您發送消息並且webhook處於脫機狀態,則需要幾分鐘時間才能完成所有消息。