You need to enable JavaScript to run this app. Slack API如何获取已安装应用的不同工作区的conversations.list数据?
优惠活动
大模型
产品
解决方案
定价
更多

Slack API如何获取已安装应用的不同工作区的conversations.list数据?

关于多工作区Slack会话获取与令牌存储的解答

1. 多工作区conversations_list调用规则

必须使用对应工作区的专属token构造独立的WebClient实例。Slack平台完全通过请求携带的令牌识别所属工作区、校验接口权限,不同工作区的令牌无法跨区访问资源,不存在单个令牌获取多工作区会话的情况。

调用示例代码如下:

from slack_sdk import WebClient

# 传入目标工作区的专属bot/xoxp令牌
client = WebClient(token="xoxb-当前工作区的有效令牌")
# 调用接口获取该工作区的会话列表
resp = client.conversations_list(
    types="public_channel,private_channel,im", # 按需指定需要拉取的会话类型
    limit=200, # 单页拉取数量上限
    exclude_archived=True # 可选:排除已归档的会话
)
# 解析当前工作区的会话数据
workspace_channels = resp.get("channels", [])

2. OAuth令牌存储方案

官方Django示例未实现令牌存储是因为仅做最小流程演示,生产环境需要自行实现持久化存储,存储内容至少需要包含以下字段:

  • 工作区唯一标识team_id(作为索引键区分不同工作区的令牌)
  • 机器人令牌bot_token、机器人用户IDbot_user_id
  • 安装应用的用户IDuser_id(如果涉及用户级令牌)
  • 令牌权限范围scope
  • (令牌轮换场景必填)刷新令牌refresh_token、令牌过期时间expires_at

Django项目存储实现

可以直接创建ORM模型做持久化,示例模型定义:

from django.db import models

class SlackInstallation(models.Model):
    team_id = models.CharField(max_length=32, unique=True, primary_key=True, db_index=True)
    team_name = models.CharField(max_length=255, null=True, blank=True)
    bot_token = models.CharField(max_length=255)
    bot_user_id = models.CharField(max_length=32)
    install_user_id = models.CharField(max_length=32)
    scopes = models.TextField(help_text="逗号分隔的权限范围")
    refresh_token = models.CharField(max_length=255, null=True, blank=True)
    expires_at = models.DateTimeField(null=True, blank=True)
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

Bolt框架原生支持自定义InstallationStore接口,你可以实现该接口对接上述ORM模型,框架会在OAuth安装流程自动触发令牌存储,后续接口调用时也会自动根据team_id拉取对应令牌初始化WebClient,无需手动处理令牌的读取绑定逻辑。

通用存储方案

非Django项目可以根据业务规模选型存储:小体量业务可选Redis、SQLite,中大体量业务选择PostgreSQL、MySQL等关系型数据库即可。

注意事项

  • 令牌属于高敏感信息,禁止明文存储,建议存入数据库前做对称加密,读取时再解密,避免数据泄露带来的安全风险
  • 若使用Slack的令牌轮换机制,需要定时校验令牌有效期,过期前用refresh_token刷新令牌更新存储,避免接口调用失效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 03:48:03