首页 文章

Slack Slash Commands触发没有查询参数的GET请求

提问于
浏览
0

我试图通过创建Slack应用程序来扩展Slack,该应用程序在用户安装Slack App时安装Slash命令 . Slack聊天用户触发时的斜线命令将与我正在尝试开发的外部Web服务进行交互 .

根据Slash Commands(https://api.slack.com/slash-commands)的Slack文档,任何Slash命令都会使用POST主体中的一组参数触发对外部服务的POST,以指示触发的用户,Slack通道等 . 请求 .

当我使用localtunnel(https://www.npmjs.com/package/localtunnel)在Internet上使用localhost开发Web服务时,localtunnel实际上创建了一个虚拟服务器,在 localtunnel.me 上有一些随机主机名,例如https://wkbtfodclm.localtunnel.me,它连接到我的localhost .

如果我在Slack聊天中键入Slash命令,Slack会成功向 localtunnel.me 服务器发送POST请求,该服务器将通过管道传送到我的localhost .

但是,在我部署到具有域的Heroku之后,例如https://example.com,我注意到Slash命令向Heroku上的服务器发送没有参数的GET请求 . 以前有人经历过吗?

1 回答

  • 0

    Slack方面的一切都按预期工作 . 当我使用Slash命令时,Slack会联系其服务器,然后使用所有参数对外部Web服务https://example.com(我配置)进行POST . 但是,Web服务(由于DNS设置)会将https://example.com请求重定向到https:// www .example.com(注意 www ) . 这导致Slack的POST被重定向为没有URL查询的GET . 配置Slash命令以使用https://www.example.com修复此问题 .

相关问题