好的,让我们设置舞台。
我正在尝试使用带有 gradle 和 ngrok 的 Java JDK 14 构建一个 slack 应用程序。(和 Slack 的 SDK 模块,Bolt)
到目前为止,我已经能够非常轻松地包含所需的依赖项,而且我的问题似乎与我的依赖项管理无关。它建立。至少,它会构建。
松弛命令配置:
一些笔记,因为由于某种原因我无法组织我的想法。
每次刷新 ngrok 时,我都会确保更改请求 URL。
我已经验证了我的 slack bot 令牌和我的 slack 签名密码是正确的。
主程序代码:
package SlackApp;
import com.slack.api.bolt.App;
import com.slack.api.bolt.jetty.SlackAppServer;
public class Program {
public static void main(String[] args) throws Exception {
App app = new App();
app.command("/echo", (req, ctx) -> {
return ctx.ack(":wave: testing");
});
SlackAppServer server = new SlackAppServer(app);
server.start();
}
}
出于某种原因,每当我在我的开发工作区中使用斜杠命令时(我还没有开始对多个工作区进行 oAuth,我只是在测试一些东西),记录器会显示此信息(我已经用谷歌搜索过并且没有找到任何合适的解决方案):
INFO com.slack.api.bolt.middleware.builtin.RequestVerification - Invalid signature detected
- v0=ee1b7da78a098a8b974c119873b1782c843b8bef1dce192b68ea0df4ccf86b23
这就是我所在的地方。Slack 的文档说构建一个 slack 应用程序的过程如下:
处理斜杠命令请求所需的所有应用程序是:
验证来自 Slack 的请求
解析请求正文并检查命令是否是您要处理的命令
建立回复消息或做任何你想做的事
以 200 OK 作为确认响应 Slack API 服务器
我实际上并没有验证来自 slack 的请求,但如果我只是在玩耍,我认为没有必要这样做。你能提供一些见解吗?