You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Slack User Token,让Slack App代用户发送消息

实现Slack App用户授权获取User Token方案

完全可行,这是Slack OAuth 2.0授权流程的标准应用场景,具体步骤如下:

1. 配置Slack App OAuth权限

  • 登录Slack开发者后台,进入你的App管理页,打开OAuth & Permissions标签
  • 在User Token Scopes区域,添加所需权限:比如实现代发消息必须的chat:write,如果需要其他用户级权限也一并添加
  • 配置Redirect URLs:填写用户授权完成后,Slack跳转回你的服务的HTTPS地址(开发阶段可通过ngrok等工具生成临时HTTPS地址)

2. 引导用户完成授权流程

  • 构造授权链接,格式如下:
    https://slack.com/oauth/v2/authorize?client_id=你的Client ID&scope=应用级权限(可选)&user_scope=chat:write
    
    替换你的Client ID为App基本信息页中的Client ID;user_scope必须包含你需要的用户权限(比如chat:write)
  • 将该链接提供给用户:可以通过Slack内的应用消息、你的服务网页入口等方式展示,用户点击后会跳转至Slack官方授权页面,确认授权你的App访问其账户
  • 用户确认授权后,Slack会跳转至你配置的Redirect URL,并携带code授权码参数

3. 兑换用户的User Token

  • 后端服务接收到code后,向Slack API发送POST请求:
    https://slack.com/api/oauth.v2.access
    
  • 请求参数需包含:
    • client_id:你的App Client ID
    • client_secret:你的App Client Secret(基本信息页获取)
    • code:用户授权后得到的code参数
    • redirect_uri:与之前配置的Redirect URL完全一致
  • 接口返回结果中,authed_user.access_token即为该用户的User Token,需将其安全存储至数据库,后续调用Slack API代用户发消息时使用

注意事项

  • User Token与用户账户绑定,每个用户授权后会生成唯一令牌,需妥善加密存储,禁止泄露
  • 若需要长期有效令牌,可在授权链接中添加user_scope=offline_access,获取refresh_token用于令牌过期时自动刷新,无需用户重新授权
  • 测试阶段可使用OAuth页面的Test Token Generator生成测试用User Token,但正式环境必须走完整OAuth流程

内容的提问来源于stack exchange,提问作者Questions

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 18:42:17