2016-04-12 24 views
9

晚上好,剛剛看到Facebook發佈了他的messenger bot工具包,我馬上跳進它瞭解更多信息,也許嘗試做我自己的。我可以使用本地主機作爲URL在回信中的webhook

我的問題是,我沒有運行的https網站,它需要一個https有效的網址。我嘗試使用具有證書的本地Web服務器,但不起作用。

我的問題是,如果這可以使用本地主機url完成。

預先感謝您

+0

我嘗試了用ngrok如下面的鏈接描述和我它工作。 https://sumwu.me/blog/page/9/how-to-create-a-facebook-messenger-bot/ – bvsdev

回答

13

其實這是可能的本地主機。使用。它允許您通過http或https打開本地主機到公共網絡。這應該只用於測試。

+0

如果多個開發人員在同一個webhook/chatbot上工作,ngrok將無法工作 – Gurpreet

0

我的問題是,如果這是可能的使用本地主機地址在所有完成。

不,當然不是 - 因爲什麼這樣的「回調」,其實就是,是Facebook的讓你的服務器發出請求 - 這幾乎是不可能用localhost


通過LetsEncrypt,您的網站的有效SSL證書很容易免費獲得。即使你的服務器沒有這個功能,仍然有StartSSL,它提供免費的基本證書。所有你需要的是一臺你可以安裝它們的服務器,或者把它們上傳到你的主機提供的任何機制。 (如果他們不提供任何,那麼它可能是時間切換。)

+0

謝謝你的回答,我問這個,因爲有一些選項允許你使用localhost作爲一些Facebook應用中的網址。但正如你所說,這是不可能的。感謝您的時間。 – Query

+0

是的,你可以測試f.e. Facebook用localhost登錄 - 但那是因爲所有的東西都發生在你的瀏覽器中,它只是一個重定向到Facebook並從那裏返回到你的本地主機。你的瀏覽器知道本地主機是什麼,以及如何達到它,所以這裏沒有問題 - 但Facebook沒有。(或者你可以說他們當然也知道 - 但是如果Facebook的服務器向127.0.0.1發出請求,那將不會有太大的收穫。) – CBroe

1

如果你想在你的本地環境中測試webhook,我會嘗試ultrahook.com,你可以免費獲得一個API密鑰,並且該工具創建一個從公共URL到你的計算機的隧道。這是從他們的常見問題頁面:

您下載並運行您的計算機上的UltraHook客戶端。它 連接到雲中的UltraHook服務器,並創建從我們的服務器上的公共端點 到您的計算機的隧道。發送到公共端點的任何HTTP POST 請求都將通過隧道 發送,並傳遞到可從您的計算機訪問的私有端點。

我用它來測試來自不同供應商(如支付網關)的webhook。在你的電腦,你可以運行類似:

ultrahook <subdomain> http://localhost:8000/webhook/

,然後配置網絡掛接網址在外部服務,像<subdomain>.ultrahook.com

相關問題