Ich versuche, Slack zu erweitern, indem ich eine Slack-App erstelle, die Slash-Befehle installiert, wenn die Slack-App vom Benutzer installiert wird. Wenn die Slash-Befehle von einem Slack-Chat-Benutzer ausgelöst werden, interagieren sie mit einem externen Webdienst, den ich zu entwickeln versuche.Slack Slash Befehle lösen GET-Anfrage ohne Abfrage aus parms
Gemäß den Slack-Dokumenten für Slash-Befehle (https://api.slack.com/slash-commands) wird jeder Slash-Befehl einen POST an den externen Dienst mit einem Satz von Parametern im POST-Körper auslösen, um unter anderem den Benutzer, den Slack-Kanal, etc anzuzeigen ., die die Anfrage ausgelöst hat.
Wenn ich den Web-Service gemacht Ich entwickle auf localhost zur Verfügung mit dem Internet über localtunnel (https://www.npmjs.com/package/localtunnel), localtunnel tatsächlich schafft einen virtuellen Server mit einem zufälligen Hostnamen auf localtunnel.me
, zum Beispiel https://wkbtfodclm.localtunnel.me, die zu meinem localhost verbindet.
Wenn ich den Slash-Befehl in meinem Slack-Chat eintrage, sendet Slack erfolgreich eine POST-Anfrage an den Server localtunnel.me
, der an meinen localhost weitergeleitet wird.
Allerdings, nachdem ich auf Heroku, die eine Domäne hat, z. B. https://example.com bereitstellen, stelle ich fest, dass der Slash-Befehl eine GET-Anfrage ohne Parameter an den Server auf Heroku sendet. Hat jemand das schon einmal erlebt?
Ist es möglich, es ist die SSL-Prüfung? Siehe https://api.slack.com/slash-commands.ssl. Es sollte * ein * Parameter 'ssl_check = 1 'sein, aber basierend auf der Dokumentation würde ich erwarten, dass dies ein Abfrageparameter (Teil der URL) ist. Passt das zu dem, was Sie sehen? (Es kann hilfreich sein, die vollständige HTTP-Anfrage zu sehen, einschließlich der vollständigen URL und der Header.) – smarx
Vielen Dank. Derzeit, wenn ich den Slash-Befehl auf Slack verwende, wird es den Slack-Server kontaktieren (wie erwartet), aber anstatt den externen Web-Service mit POST zu kontaktieren, kontaktiert Slack es mit GET, aber ohne Parameter usw. – nethsix