跳到主要内容

飞书插件

本指南适用于飞书企业自建应用。需要能管理应用、申请权限、设置通讯录范围并发布应用的账号。当前插件连接 open.feishu.cn,不要混用 Lark 国际版凭据与域名。

1. 创建应用并记录凭据​

  1. 登录飞书开放平台,创建企业自建应用
  2. 在凭证与基础信息中记录 App ID 和 App Secret
  3. 添加 网页应用 能力;需要消息推送时,再添加 机器人 能力
  4. 在权限管理设置通讯录数据权限范围,并在应用发布配置中设置可用范围,包含测试成员与目标部门

2. 申请接口与字段权限​

功能需要的权限或设置实际接口
通讯录申请应用身份的通讯录读取权限,例如 以应用身份读取通讯录(contact:contact:readonly_as_app);若控制台要求细分权限,按右侧各接口的权限要求申请GET /contact/v3/scopes、/contact/v3/departments/{id}、/contact/v3/departments/{id}/children、/contact/v3/users/find_by_department、/contact/v3/users/{id}
用户组授权使用用户组作为通讯录范围时,额外申请 contact:group:readonly用户组成员查询
登录邮箱contact:user.email:readonly授权请求与 /authen/v1/user_info 的邮箱字段
登录企业成员资料contact:user.employee:readonly授权请求与登录用户信息
通讯录邮箱、手机号等按需开通对应字段权限,并确认企业已填写资料;应用身份读取与用户授权登录的权限分别检查通讯录用户详情
个人消息添加机器人能力,并申请 以应用的身份发消息(im:message:send_as_bot)POST /im/v1/messages?receive_id_type=open_id

上表接口路径相对于 https://open.feishu.cn/open-apis。需要用户登录授权的权限与以 tenant_access_token 读取通讯录的应用权限不同,不能相互替代。

申请完权限和数据范围后,创建并发布应用版本,完成企业管理员审批。后续修改权限、机器人能力或可用范围,也要按飞书后台流程发布生效。

组织架构同步修改的是 Soln 内部数据,无需申请修改飞书通讯录的权限。

3. 安装 Soln 插件​

  1. 在 集成 → 应用 → 插件 安装飞书插件,填写 App ID 和 App Secret
  2. 选择用于登录的 邮箱字段:默认是 enterprise_email(企业邮箱);如果企业实际使用普通邮箱,选择 email。插件按选中的字段识别成员,不会自动切换
  3. 身份映射方式通常选择 匹配租户内启用成员的邮箱。使用 显式邮箱白名单 时还需填写白名单;白名单不创建成员
  4. 安装启用后,在 应用信息 复制 身份提供方重定向 URL 和 单点登录入口地址

4. 配置重定向与工作台入口​

Soln 提供的值飞书侧填写位置
身份提供方重定向 URL安全设置 → 重定向 URL,填写完整 URL
单点登录入口地址网页应用的工作台主页或应用主页,分别设置后台要求的桌面端、移动端入口

例如租户地址是 https://workspace.example.com,插件回调通常为 https://workspace.example.com/plugins/feishu/callback。以 Soln 展示的值为准,不要漏掉路径,也不要将回调 URL 当作工作台主页。

安装会创建企业单点登录连接,在 账户中心 → 单点登录 检查其启用状态。使用可用范围内的飞书成员,从工作台入口登录;选定邮箱字段必须能匹配 Soln 中启用成员的邮箱。登录不会创建新成员。

5. 获取通讯录和推送消息​

  1. 在插件 组织映射 点击 获取通讯录,检查组织、部门、用户列表
  2. 使用邮箱等唯一字段自动绑定,或手动绑定;如果只授权了个别用户,可能只有用户列表有数据,不能据此判断部门读取正常
  3. 进入 消息推送 → 推送配置,为业务应用新增配置,选择允许的消息模板并启用
  4. 产生一条新的审批或普通提醒,在 消息日志 与飞书应用机器人单聊中核对结果

飞书通知使用当前应用范围内的 open_id,不能拿另一个应用的 open_id、user_id 或 union_id 替换。无需填写钉钉 AgentId,也无需群机器人 Webhook。

当前发送机器人卡片和 Soln 详情链接,不创建飞书三方审批或任务。消息与组织同步的完整说明见企业身份插件使用指南。

飞书列表中的字段怎么读​

固定列、搜索、分页、下载、绑定和消息日志的详细用法见企业身份插件列表与操作说明。飞书字段受应用数据范围与字段权限限制,并非每家企业都会返回下列所有字段。

组织与部门列表​

组织列表使用可读取的根部门信息,根 ID 为 0;授权部分成员或部门时根组织可能不可见,不能把“暂无组织”直接理解为企业没有组织。

字段编码含义与值
open_department_id / department_id飞书系统部门 ID / 自定义部门 ID;当前插件按 open_department_id 遍历,不能把两种 ID 混用
name / i18n_name部门名称 / 国际化名称,如 zh_cn、en_us、ja_jp;不是三个不同部门
parent_department_id上级部门 ID,按本次查询的部门 ID 类型返回
leader_user_id / leaders部门主管 / 负责人数组;leaderType 为 1 主负责人、2 副负责人,leaderID 为负责人 ID
order / chat_id部门排序 / 部门群 ID,不是个人消息接收 ID
member_count / primary_member_count含子部门成员数 / 主属成员数,不是 Soln 已激活席位
status.is_deleted部门删除标记,布尔值显示“是、否”;不等于可以跳过内部依赖直接删除
unit_ids / department_hrbps所属单位 ID / 部门 HRBP 用户 ID 列表
group_chat_employee_types部门群允许的人员类型;人员类型编码见用户表

用户列表​

字段编码含义与值
open_id / user_id / union_id应用范围用户 ID / 用户 ID / 开发商范围 ID;当前插件绑定和个人卡片接收使用本应用的 open_id
name / en_name / nickname姓名 / 英文名 / 别名;重名不应直接绑定
email / enterprise_email邮箱 / 企业邮箱;列表自动绑定规则与插件登录邮箱字段是分别配置的
employee_no / job_title员工工号 / 职务
department_ids / orders所属部门 ID / 各部门排序信息;orders[].is_primary_dept 表示是否主部门
status.is_activated是否激活,显示“已激活、未激活”;不代表 Soln 已启用
status.is_frozen / is_frozen是否暂停使用,布尔值显示“是、否”
status.is_resigned / status.is_exited / status.is_unjoin是否离职 / 主动退出 / 尚未加入,不要将多个标记合并当作一个状态数字
is_tenant_manager是否飞书租户超级管理员,不授予 Soln 管理权限
gender0 保密、1 男、2 女、3 其他
employee_type1 正式员工、2 实习生、3 外包、4 劳务、5 顾问
join_time入职时间,秒时间戳会格式化为时间
avatar / avatar_key头像地址对象 / 文件 Key;avatar_72、avatar_240、avatar_640、avatar_origin 是不同尺寸地址
mobile / mobile_visible手机号 / 是否可见;不可见或未授权时可能缺失
leader_user_id / dotted_line_leader_user_ids直属上级 / 虚线上级用户 ID
custom_attrs自定义字段数组;包括 id、type、value,不是可以直接复制成内部成员 ID 的对象
custom_attrs[].typeTEXT 文本、HREF 网页、ENUMERATION 枚举、PICTURE_ENUM 图片、GENERIC_USER 引用人员;详情中展开相应值
assign_info飞书产品席位信息,如许可标识、产品名、起止时间,不是 Soln 订阅席位
department_path部门路径与国际化名称等嵌套信息,可在详情抽屉阅读
city / country / work_station / geo工作城市 / 国家地区 / 工位 / 数据驻留地

例如列表出现 status.is_frozen 为“是”,先核对外部成员状态及内部成员启用状态,不要把绑定状态“已绑定”误认为可以正常接收消息。

常见问题​

现象处理
只有 1 位用户,没有组织和部门查看通讯录授权范围是否只包含该用户;需要部门树时授权对应部门,需要完整树时授权全员或根范围
能读取根部门,但同步不执行删除根部门可读不代表全企业授权;检查通讯录授权范围,只有插件确认完整范围时才处理外部缺失部门
开通了通讯录权限仍提示无权限检查应用身份权限、通讯录数据范围、版本是否发布和管理员是否批准;再看失败接口要求
邮箱字段为空或登录不匹配检查字段权限、企业邮箱资料,以及插件选择的 enterprise_email 或 email 是否正确
消息失败或接收人不可用检查机器人能力、im:message:send_as_bot、发布状态、接收人可见范围及当前应用的 open_id
点消息链接后要求登录详情页仍需 Soln 登录;从单点登录入口完成登录,并确认成员拥有业务权限
域名更换后登录失败更新租户公开地址、飞书重定向 URL 和工作台主页,使用新入口重新测试

官方参考​