← 返回文章列表
POST / 2026-07-08

飞书获取用户 OpenID

企业飞书普通成员在没有管理员权限时,使用飞书开发者工具的真机调试功能,通过联系人开放接口获取自己或同事的 OpenID。

使用背景

在企业内部对接飞书机器人、消息推送、审批或通讯录接口时,常常需要提供用户的 open_id。管理员或应用开发者可以通过开放平台接口查询,但普通企业成员通常没有应用管理权限,也无法获取 App ID、App Secret 或通讯录权限。

这种情况下,可以利用飞书开发者工具内置的 API 演示能力,通过真机调试选择企业联系人,查看返回的用户标识。这个方法适合临时排查或少量查询,无需自己编写代码。

OpenID 是什么

open_id 是飞书开放平台用来标识用户的 ID 之一,常见于发送单聊消息、查询用户信息等场景。它不是飞书号、手机号或邮箱,不能直接从个人资料页复制。

注意:open_id 与应用身份有关。在正式对接前,应让应用管理员或开发人员确认,当前获取的 ID 是否适用于目标应用。如果业务要求的是 user_idunion_id,则不能用 open_id 替代。

准备工作

开始前需要满足以下条件:

  • 电脑已安装飞书客户端和飞书开发者工具。
  • 使用需要查询的企业账号登录,并确认当前所在企业正确。
  • 准备好目标飞书应用的 App ID。App ID 一般以 cli_ 开头,可向应用管理员或开发人员索取,具体可参考飞书官方的 如何获取 App ID。只需要 App ID,不需要 App Secret。
  • 该账号能够在飞书通讯录中看到目标联系人。企业的通讯录可见范围和安全策略仍然有效。

本方法不要求你是企业管理员,但必须知道要对接的应用 App ID。如果企业禁用了相关开发或调试能力,则需联系管理员协助。

操作步骤

1. 填写应用 App ID

在飞书开发者工具中打开或导入调试项目,将目标应用的 App ID 填入项目配置。务必使用最终需要调用 OpenID 的那个应用,不要使用无关的测试应用代替。

OpenID 与应用上下文有关。使用错误的 App ID,即使选中了同一个用户,获取的 OpenID 也可能无法用于目标应用。

2. 启动真机调试

打开飞书开发者工具,确认已登录正确的飞书账号,然后选择“真机调试” -> “PC 端” -> “Windows”。即使当前电脑是 macOS,界面中也可能显示这一选项,以工具实际界面为准。

在飞书开发者工具中选择真机调试

3. 打开联系人接口

真机调试启动后,飞书客户端会打开一个 API 演示小程序。依次选择“API” -> “开放接口” -> “联系人”。

在 API 开放接口中选择联系人

4. 选择目标用户

点击联系人选择按钮,搜索并勾选自己或目标同事,然后确认。只能选择当前账号有权查看的联系人。

5. 查看并复制 OpenID

确认后,页面会显示接口返回结果。在结果中找到 open_id 字段,其值通常是以 ou_ 开头的字符串,例如:

ou_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

复制时只保留字段值,不要带上引号、逗号或 open_id: 字段名。将该 ID 提供给负责对接的开发人员,并说明它对应的人员和企业。

常见问题

找不到目标联系人

先在飞书客户端的通讯录中搜索对方。如果普通通讯录也无法查看,通常是部门隔离、成员可见范围或外部联系人限制造成的,开发者工具不能绕过这些权限。

点击真机调试后无法打开

检查飞书客户端和开发者工具是否已登录、两者的账号与企业是否一致,并尝试升级到最新版本。如果企业策略禁止使用调试工具,只能请管理员处理。

拿到 OpenID 后仍然无法发消息

获取 ID 只是第一步。目标应用还需要具备相应的消息权限、可用范围,并且用户必须在该应用的可访问范围内。如果接口报“用户不存在”或“无权访问”,还要检查 ID 是否属于目标应用的上下文。

能否批量获取

这个方法适合偶尔查询一两个用户。如果需要批量查询、定期同步或用于生产系统,应由管理员创建企业自建应用,配置通讯录权限和可用范围,再通过官方 Open API 查询。

安全提醒

  • OpenID 虽然不是密码,但仍属于企业用户标识,不建议发布到公开群、论坛或代码仓库。
  • 不要为了获取 OpenID 向他人索要 App Secret、用户 access token 或管理员账号。
  • 转发调试截图时,注意遮挡姓名、部门、手机号、邮箱和完整 ID。

参考资料