Slack 凭据#
您可以使用这些凭据来验证以下节点:
支持的认证方法#
- API access token:
- Slack Trigger 节点必需。
- 与 Slack 节点兼容,但不推荐。
- OAuth2:
- Slack 节点的推荐方法。
- 不适用于 Slack Trigger 节点。
相关资源#
参考 Slack 的 API 文档了解有关该服务的更多信息。
使用 API access token#
要配置此凭据,您需要一个 Slack 账户和:
- 一个 Access Token 访问令牌
生成访问令牌,创建 Slack 应用:
- 打开您的 Slack API Apps 页面。
- 选择 Create New App > From scratch。
- 输入 App Name。
- 选择您将开发应用的 Workspace。
- 选择 Create App。应用详情打开。
- 在 Features 下的左侧菜单中,选择 OAuth & Permissions。
- 在 Scopes 部分,为您的应用选择适当的范围。参考范围获取推荐范围列表。
- 添加范围后,转到上方的 OAuth Tokens 部分并选择 Install to Workspace。您必须是 Slack 工作区管理员才能完成此操作。
- 选择 Allow。
- 复制 Bot User OAuth Token 并将其作为 Access Token 输入到您的 n8n 凭据中。
- 如果您在 Slack Trigger 中使用此凭据,请按照 Slack Trigger 配置 中的步骤完成应用设置。
参考 Slack API 快速入门了解更多信息。
Slack Trigger 配置#
要在 Slack Trigger 节点中使用您的 Slack 应用:
- 转到 Features > Event Subscriptions。
- 开启 Enable Events 控制。
-
在 n8n 中,复制 Webhook URL 并将其作为 Request URL 输入到您的 Slack 应用中。
Request URL
Slack 每个应用只允许一个请求 URL。如果您要测试工作流,需要执行以下操作之一:
- 首先使用您的 Test URL 进行测试,然后在验证一切正常后将您的 Slack 应用更改为使用 Production URL
- 使用带有执行日志的 Production URL。
-
验证后,选择要订阅的机器人事件。使用 n8n 中的 Trigger on 字段来过滤这些请求。
- 要使用列表中没有的事件,将其添加为机器人事件并在 n8n 节点中选择 Any Event。
参考快速入门 | 配置应用以进行事件监听了解更多信息。
使用 OAuth2#
n8n 云服务用户注意事项
云服务用户无需提供连接详细信息。选择连接我的账户通过浏览器进行连接。
如果您自托管 n8n并需要从头配置 OAuth2,您需要一个 Slack 账户和:
- 一个 Client ID 客户端 ID
- 一个 Client Secret 客户端密钥
要获取两者,创建 Slack 应用:
- 打开您的 Slack API Apps 页面。
- 选择 Create New App > From scratch。
- 输入 App Name。
- 选择您将开发应用的 Workspace。
- 选择 Create App。应用详情打开。
- 在 Settings > Basic Information 中,打开 App Credentials 部分。
- 复制 Client ID 和 Client Secret。将这些粘贴到 n8n 中的相应字段。
- 在 Features 下的左侧菜单中,选择 OAuth & Permissions。
- 在 Redirect URLs 部分,选择 Add New Redirect URL。
- 从 n8n 复制 OAuth Callback URL 并将其作为新的 Redirect URL 输入到 Slack 中。
- 选择 Add。
- 选择 Save URLs。
- 在 Scopes 部分,为您的应用选择适当的范围。参考范围获取范围列表。
- 添加范围后,转到上方的 OAuth Tokens 部分并选择 Install to Workspace。您必须是 Slack 工作区管理员才能完成此操作。
- 选择 Allow。
- 此时,您应该能够选择 n8n 凭据中的 OAuth 按钮来连接。
参考 Slack API 快速入门了解更多信息。参考 Slack 使用 OAuth 安装文档了解有关 OAuth 流程本身的更多详细信息。
范围#
范围决定应用具有什么权限。
- 如果您希望您的应用代表授权应用的用户行事,在 User Token Scopes 部分下添加所需的范围。
- 如果您正在构建机器人,在 Bot Token Scopes 部分下添加所需的范围。
以下是 OAuth 凭据所需的范围列表,这是一个很好的起点:
Scope name | Notes |
---|---|
channels:read |
|
channels:write |
不作为机器人令牌范围可用 |
chat:write |
|
files:read |
|
files:write |
|
groups:read |
|
im:read |
|
mpim:read |
|
reactions:read |
|
reactions:write |
|
stars:read |
不作为机器人令牌范围可用 |
stars:write |
不作为机器人令牌范围可用 |
usergroups:read |
|
usergroups:write |
|
users.profile:read |
|
users.profile:write |
不作为机器人令牌范围可用 |
users:read |
常见问题#
Token expired 令牌过期#
Slack 提供令牌轮换功能,您可以为机器人和用户令牌启用此功能。这会使所有令牌在 12 小时后过期。虽然这对测试可能有用,但启用此功能的令牌在过期后,使用这些令牌的 n8n 凭据将失败。如果您想在生产环境中使用 Slack 凭据,此功能必须关闭。
要检查您的 Slack 应用是否启用了令牌轮换,请参阅 Slack API 文档 | 令牌轮换。
如果您的应用使用令牌轮换
请注意,如果您的 Slack 应用使用令牌轮换,您无法再次关闭它。您需要创建一个禁用令牌轮换的新 Slack 应用。