Slack Slash 命令在没有查询参数的情况下触发 GET 请求
Slack Slash Commands trigger GET request with no query parms
我正在尝试通过创建一个 Slack 应用程序来扩展 Slack,该应用程序在用户安装 Slack 应用程序时安装 Slash 命令。当 Slack 聊天用户触发时,Slash 命令将与我正在尝试开发的外部 Web 服务交互。
根据 Slack 命令的 Slack 文档 (https://api.slack.com/slash-commands),任何 Slash 命令都会触发 POST 到外部服务,并在 POST 主体中使用一组参数来指示触发请求的用户、Slack 频道等。
当我使用 localtunnel(https://www.npmjs.com/package/localtunnel), localtunnel actually creates a virtual server with some random hostname on localtunnel.me
, e.g., https://wkbtfodclm.localtunnel.me,连接到我的本地主机。
如果我在 Slack 聊天中键入 Slash 命令,Slack 会成功向 localtunnel.me
服务器发送 POST 请求,该请求会通过管道传输到我的本地主机。
但是,在我部署到具有域的 Heroku 之后,例如 https://example.com,我注意到 Slash 命令向 Heroku 上的服务器发送了一个没有参数的 GET 请求。以前有人经历过吗?
Slack 方面的一切都按预期工作。当我使用 Slash 命令时,Slack 联系它的服务器,然后服务器对外部 Web 服务执行 POST https://example.com (as I configured) with all the parameters. However, the web service (due to DNS settings) will redirect https://example.com requests to https://www.example.com (NOTE the www). This resulted in the POST by Slack to be redirected as a GET with no URL queries. Configuring the Slash command to use https://www.example.com 修复了这个问题。
我正在尝试通过创建一个 Slack 应用程序来扩展 Slack,该应用程序在用户安装 Slack 应用程序时安装 Slash 命令。当 Slack 聊天用户触发时,Slash 命令将与我正在尝试开发的外部 Web 服务交互。
根据 Slack 命令的 Slack 文档 (https://api.slack.com/slash-commands),任何 Slash 命令都会触发 POST 到外部服务,并在 POST 主体中使用一组参数来指示触发请求的用户、Slack 频道等。
当我使用 localtunnel(https://www.npmjs.com/package/localtunnel), localtunnel actually creates a virtual server with some random hostname on localtunnel.me
, e.g., https://wkbtfodclm.localtunnel.me,连接到我的本地主机。
如果我在 Slack 聊天中键入 Slash 命令,Slack 会成功向 localtunnel.me
服务器发送 POST 请求,该请求会通过管道传输到我的本地主机。
但是,在我部署到具有域的 Heroku 之后,例如 https://example.com,我注意到 Slash 命令向 Heroku 上的服务器发送了一个没有参数的 GET 请求。以前有人经历过吗?
Slack 方面的一切都按预期工作。当我使用 Slash 命令时,Slack 联系它的服务器,然后服务器对外部 Web 服务执行 POST https://example.com (as I configured) with all the parameters. However, the web service (due to DNS settings) will redirect https://example.com requests to https://www.example.com (NOTE the www). This resulted in the POST by Slack to be redirected as a GET with no URL queries. Configuring the Slash command to use https://www.example.com 修复了这个问题。