我正在尝试对我的松弛 channel 之一使用斜杠命令。我尝试使用 git API 进行 POC,效果很好。
我首先从此链接创建了一个斜杠命令: https://api.slack.com/censored/slash-commands
命令:/poc 请求网址:http://jsonplaceholder.typicode.com/posts
当我在 channel 的 Slack 聊天框中输入/opc 时,效果很好。它返回一些数据。
但是当我将请求 URL 更改为只能从 Office 域访问的内部 API 时,我收到错误:
Darn – that slash command didn't work (error message:
Failure when receiving data from the peer
). Manage the command at .
我相信,以防万一,slack 无法访问我的内部 URL。可以看到松弛日志吗?
任何人都可以帮我吗?
最佳答案
这不起作用,因为需要从公共(public)互联网访问请求 URL 才能与 Slack 配合使用。
一般来说,Slack 的大多数交互功能(Slash 命令、交互消息、模态、事件 API 等)都要求您的应用提供可由 Slack 通过 HTTP 调用的公共(public)端点。
为了使用 Slack 访问内部 API,您需要某种网关或隧道穿过公司的防火墙,将请求 URL 公开给 Slack。有很多方法可以做到这一点,并且需要根据您公司的安全策略来设计解决方案。
这里有一些建议:
VPN 隧道
一种方法是在内部 Web 服务器(可以访问内部 API 的服务器)上运行斜杠命令的脚本,使用 VPN 隧道将该 Web 服务器公开到 Internet,例如使用类似 ngrok 的工具.
非军事区
另一种方法是在公司网络的 DMZ 中运行您的应用程序,并配置两侧的防火墙,以允许从公共(public)互联网访问 Slack,并允许您的应用程序访问您的内部网络。
桥梁
另一种方法是在公共(public)互联网上托管并运行应用程序中与 Slack 交互的部分,以及在公司内部网络上与内部网络交互的部分。然后添加一个安全连接,允许公共(public)部分与在公司内部网络上运行的部分进行通信。
关于slack - 如何将内部 API(无法在办公网络外部访问)集成到 slacklash 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44726200/