2016-04-12 12 views
9

Guten Abend, sah gerade, dass Facebook seinen Messenger bot Toolkit veröffentlicht und ich sofort direkt hinein sprang, um mehr darüber zu lernen und vielleicht versuchen, mein eigenes zu tun.Kann ich localhost als URL Callback in einem Messenger-Webhook verwenden

Mein Problem ist, dass ich keine https-Website ausgeführt habe und eine https-gültige URL benötigt. Ich habe versucht, meinen lokalen Webserver zu benutzen, der ein Zertifikat hat, aber es funktioniert nicht.

Meine Frage ist, ob dies überhaupt mit einer localhost-URL getan werden kann.

Vielen Dank im Voraus

+0

versuchte ich es mit ngrok wie in dem unten stehenden Link beschrieben und ich habe: In Ihrem Computer können Sie so etwas wie laufen es funktioniert. https://sumwu.me/blog/page/9/how-to-create-a-facebook-messenger-bot/ – bvsdev

Antwort

13

Eigentlich ist das mit localhost möglich. Verwenden Sie . Sie können localhost für das öffentliche Web über http oder https öffnen. Dies sollte jedoch nur zum Testen verwendet werden.

+0

funktioniert nicht, wenn mehrere Entwickler auf demselben Webhook/Chatbot arbeiten – Gurpreet

0

Meine Frage ist überhaupt, wenn dies möglich ist, zu tun, mit einer lokalen Host-URL.

Nein, natürlich ist es nicht - weil das, was so ein „Rückruf“ eigentlich bedeutet, ist, dass Facebook eine Anfrage an den Server macht - und das ist kaum möglich, mit localhost.


Ein gültiges SSL-Zertifikat für Ihre Website ist heutzutage über LetsEncrypt leicht zu bekommen. Und selbst wenn dies auf Ihrem Server nicht möglich ist, gibt es noch StartSSL, die kostenlose Basiszertifikate zur Verfügung stellen. Alles, was Sie brauchen, ist ein Server, auf dem Sie sie installieren oder hochladen können, oder welchen Mechanismus auch immer Ihr Hoster dafür anbietet. (Und wenn sie keine zur Verfügung stellen, dann könnte es an der Zeit sein, umzuschalten.)

+0

Vielen Dank für Ihre Antwort, ich fragte dies, weil es einige Optionen gibt, mit denen Sie localhost verwenden können als URL in einigen Facebook Apps. Aber wie du gesagt hast, ist es unmöglich. Vielen Dank für Ihre Zeit. – Query

+0

Ja, Sie können z. Facebook login mit localhost - aber das kommt daher, dass all das in deinem Browser passiert, es ist nur eine Weiterleitung zu Facebook und von dort zurück zu deinem localhost. Und Ihr Browser weiß, was localhost ist und wie man es erreicht, also ist das kein Problem - aber Facebook nicht.(Oder man könnte sagen, dass sie das natürlich auch wissen - aber wenn Facebooks Server eine Anfrage an 127.0.0.1 stellt, wird das nicht viel erreichen.) – CBroe

1

Wenn Sie Webhooks in Ihrer lokalen Umgebung testen möchten, würde ich versuchen ultrahook.com, Sie können einen API-Schlüssel kostenlos erhalten und das Tool erstellt einen Tunnel von einer öffentlichen URL zu Ihrem Computer. Dies ist von ihrer FAQ-Seite:

Sie herunterladen und führen Sie den UltraHook-Client auf Ihrem Computer. Es verbindet sich mit UltraHook-Servern in der Cloud und erstellt einen Tunnel von einem öffentlichen -Endpunkt auf unseren Servern zu Ihrem Computer . Alle an den öffentlichen Endpunkt gesendeten HTTP POST Anforderungen werden über den Tunnel an einen privaten Endpunkt gesendet, auf den von Ihrem Computer aus zugegriffen werden kann.

Ich habe es verwendet, um Webhooks von verschiedenen Anbietern (wie Zahlungs-Gateways) zu testen.

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

und konfigurieren Sie die Webhook URL in Ihrem externen Service zu so etwas wie <subdomain>.ultrahook.com