2016-04-16 13 views
0

スラックアプリケーションを作成することによってスラックアプリケーションを作成してスラックをインストールしようとしています。スラッシュチャットユーザーがスラッシュコマンドをトリガーすると、私が開発しようとしている外部のWebサービスと対話します。スラックスラッシュコマンドはクエリパルムなしでGETリクエストをトリガー

スラッシュコマンドのスラック文書(https://api.slack.com/slash-commands)によれば、スラッシュコマンドは、POST本体のパラメータのセットを使用して外部サービスへのPOSTをトリガーし、ユーザー、スラックチャネルなどを示します要求をトリガした。

私はlocaltunnel(https://www.npmjs.com/package/localtunnel)を使用してインターネットが利用できるローカルホスト上で開発していたWebサービスを作ったとき、localtunnelは実際に私はlocalhostに接続する、例えば、localtunnel.me上のいくつかのランダムなホスト名で仮想サーバーを作成しますhttps://wkbtfodclm.localtunnel.me

スラックチャットでスラッシュコマンドを入力すると、スラックはlocaltunnel.meサーバーにPOSTリクエストを送信します。このリクエストはローカルホストにパイプされます。

ドメインを持つ、たとえばhttps://example.comのHerokuに配布した後、スラッシュコマンドがHerokuのサーバーにパラメータなしのGET要求を送信することがわかりました。誰もこれを前に経験していますか?

+1

sslのチェックは可能でしょうか? https://api.slack.com/slash-commands#sslを参照してください。パラメータは 'ssl_check = 1'でなければなりませんが、ドキュメントに基づいて、クエリパラメータ(URLの一部)であると考えられます。それはあなたが見ているものと一致しますか? (完全なURLとヘッダーを含む完全なHTTP要求を見るのに役立つかもしれません。) – smarx

+0

ありがとう。現時点でSlackでSlashコマンドを使用するとSlackサーバーに接続しますが(期待どおり)、POSTを使用して外部Webサービスに接続する代わりにSlackはGETを使用して接続しますが、パラメータはありません。 – nethsix

答えて

0

Slack側のすべてが期待通りに動作していました。スラッシュコマンドを使用するとSlackはサーバーに接続し、外部のWebサービスhttps://example.com(設定したとおりに)にPOSTを実行し、すべてのパラメータを使用します。ただし、Webサービス(DNS設定による)はhttps://example.comリクエストをhttps:// www .example.com(wwwに注意してください)にリダイレクトします。これにより、SlackによるPOSTがURLクエリのないGETとしてリダイレクトされました。スラッシュコマンドでhttps://www.example.comを使用するように設定すると、これが修正されました。

関連する問題