webentwicklung-frage-antwort-db.com.de

Kann ich localhost als URL-Rückruf in einem Messenger-Webhook verwenden

Guten Abend, ich habe gerade gesehen, dass Facebook sein Messenger Bot Toolkit veröffentlicht hat, und ich habe mich sofort darauf eingelassen, um mehr darüber zu erfahren und vielleicht mein eigenes zu machen.

Mein Problem ist, dass ich keine https-Website betreibe und dafür eine gültige https-URL benötigt. Ich habe versucht, meinen lokalen Webserver zu verwenden, der über ein Zertifikat verfügt, aber es funktioniert nicht. 

Meine Frage ist, ob dies mit einer localhost-URL überhaupt möglich ist.

Danke im Voraus

12
Query

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

16
dankram

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

Sie laden den UltraHook-Client auf Ihren Computer herunter und führen ihn aus. Es stellt eine Verbindung zu UltraHook-Servern in der Cloud her und erstellt einen Tunnel von einem öffentlichen Endpunkt auf unseren Servern zu Ihrem Computer. Alle an den öffentlichen Endpunkt gesendeten HTTP-POST-Anforderungen Werden durch den Tunnel Gesendet und an einen privaten Endpunkt gesendet, auf den von Ihrem Computer aus zugegriffen werden kann.

Ich habe es verwendet, um Webhooks von verschiedenen Anbietern zu testen (z. B. Payment Gateways). In Ihrem Computer können Sie Folgendes ausführen:

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

und konfigurieren Sie dann die Webhook-URL in Ihrem externen Dienst auf etwas wie <subdomain>.ultrahook.com

1
julianm

Meine Frage ist, ob dies mit einer localhost-URL überhaupt möglich ist.

Nein, natürlich nicht - denn was so ein "Rückruf" eigentlich bedeutet, ist, dass Facebook eine Anfrage an Ihren Server stellt - und dies ist mit localhost kaum möglich.


Ein gültiges SSL-Zertifikat für Ihre Website ist heutzutage einfach über LetsEncrypt kostenlos erhältlich. Und selbst wenn das auf Ihrem Server nicht verfügbar ist, gibt es immer noch StartSSL, das Basiszertifikate kostenlos zur Verfügung stellt. Alles was Sie brauchen, ist ein Server, auf dem Sie sie installieren, hochladen oder auf den Mechanismus, den Ihr Hoster dafür bereitstellt. (Und wenn sie keine zur Verfügung stellen, kann es Zeit für den Wechsel sein.)

0
CBroe