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

分发Slack Bot到新工作区后调用users.profile.get返回user_not_found错误求助

排查Slack Bot跨工作区调用users.profile.get报"user_not_found"的问题

以下是几个关键排查方向,逐一验证:

  • 确认user_id的工作区唯一性
    Slack的user_id是工作区专属的,原工作区的ID在新工作区完全不生效。别直接复用旧ID,必须获取新工作区目标用户的真实ID:在新工作区Slack客户端打开用户资料,右键点击用户名选择「复制成员ID」,替换代码里的slack_id再测试。

  • 复查权限的实际生效状态
    虽然你自查过权限,但再确认两点:

    1. 新工作区安装应用时,是否勾选了users:read或users:read.email权限(这两个是users.profile.get的必需权限);
    2. 如果目标用户是外部共享频道成员,还需要额外申请users:read:user_scope权限,否则Bot无法访问这类用户的资料。
  • 验证访问令牌的上下文
    能调用chat.postMessage仅说明令牌有效,但要确认:

    • 令牌是新工作区安装后生成的,不是旧工作区的令牌;
    • 如果用的是Bot令牌,需确保其权限范围包含读取用户资料的权限(有些安装流程可能漏选);如果是用户令牌,要确认该用户在新工作区有正常访问权限。
  • 检查用户的隐私设置
    新工作区的目标用户可能设置了阻止Bot查看自己的资料:让用户进入「个人资料 → 设置和隐私 → 隐私 → 允许应用访问我的资料」,确认你的Bot在允许列表中。

  • 用API测试工具验证
    直接在Slack开发者后台的API测试工具中,使用新工作区的令牌调用users.profile.get,传入正确的新工作区user_id:

    • 如果工具调用成功,说明你代码里的slack_id变量传错了;
    • 如果工具也报错,说明是权限或用户本身的问题,继续排查上述几点。

你的调用代码逻辑无问题,核心要确保slack_id是新工作区的有效用户ID,而非旧工作区的遗留值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 07:21:24