飞书开放平台 Skill
覆盖飞书开放平台企业开发者最常接的 8 块:鉴权、通讯录、消息与机器人、多维表格、审批、飞书人事、事件订阅与错误频控。专门标出照钉钉、企业微信或 Slack 的习惯会写错的地方,并用 20 次无凭证探测核对了鉴权与错误返回的实际形态。
安装
选你用的 Agent,复制命令。
npx -y skills add fxp/skillify --skill feishu --agent claude-code --yes装到项目的 .claude/skills/;加 -g 装到全局。装完需要你手动执行 /reload-plugins,这一步 Agent 代劳不了。
npx -y skills add fxp/skillify --skill feishu --agent codex --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent cursor --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent opencode --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent gemini-cli --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent github-copilot --yes装到项目的 .agents/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent trae --yes装到项目的 .trae/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent windsurf --yes装到项目的 .windsurf/skills/;加 -g 装到全局。
npx -y skills add fxp/skillify --skill feishu --agent qwen-code --yes把 --agent 换成你用的 Agent 标识,可以一次写多个。skills CLI 1.5.25 共支持 79 个,例如 qwen-code、kimi-code-cli、trae-cn、qoder、lingma、cline、roo。
或者让 Agent 自己装
读 https://github.com/fxp/skillify/blob/main/skills/feishu/prompt.md 并照它执行装对了的标志:references/ 下有 8 份文档,里面 grep '<!-- Gap:' 能搜到 2 处。
装好后,可以这样问你的 Agent
这份 Skill 覆盖的典型任务。点一下复制。
8 类能力
每类能力对应一份 reference,Agent 按任务只打开需要的那份。
鉴权与三种 access token
自建与商店应用取 token、OAuth v3 授权码与刷新、Lark 域名、SDK 自动管 token
通讯录:用户与部门
手机号邮箱换 ID、遍历组织架构、创建用户与部门、通讯录权限范围
消息与机器人
发送、回复、编辑消息,上传图片,接收消息事件,自定义群机器人 webhook 与签名
多维表格
app_token 获取、字段值写入与读出格式、批量写记录、条件查询与分页
审批
查看审批定义、创建实例与表单控件值、处理任务、订阅审批事件
飞书人事(CoreHR)
企业版员工查询、待入职与完成入职、数据权限;附标准版花名册
事件订阅与回调
长连接与 Webhook 对比、challenge、验签、解密、重试与去重、卡片回调
错误码、频控与分页
响应结构、HTTP 状态的实际形态、通用错误码、频控等级、各接口分页上限
当前事实
整理自官方文档(抓取于 2026-09-11),还没有用真实凭证验证。
| 项 | 值 |
|---|---|
| Base URL | https://open.feishu.cn/open-apis;Lark 国际版 https://open.larksuite.com/open-apis;OAuth 在 accounts.feishu.cn |
| 鉴权 | Authorization: Bearer t-…,缺 Bearer 前缀等于没带 token |
| 取 token | POST /auth/v3/tenant_access_token/internal → 顶层 tenant_access_token + expire(秒) |
| 最易选错 | user_id_type 默认 open_id;department_id_type 默认 open_department_id |
| 官方 SDK | pip install lark-oapi,自动缓存 tenant_access_token |
照通用经验写容易错的 7 件事
来自官方文档,还没有用真实凭证验证。
- 换 token 失败 HTTP 仍是 200。伪造 app_id 探测得到 HTTP 200 +
code 10003,自定义机器人失败也是 200,必须判 body 的code。 - 两种机器人消息体不同。应用机器人的
content是 JSON 字符串,自定义群机器人 webhook 的content是对象,卡片还要放进card。 - 自定义机器人签名把
timestamp\nsecret当 HMAC 的 key,对空字符串签名再 Base64,时间戳单位是秒。 - 事件验签是纯 SHA-256,不是 HMAC。
sha256(timestamp+nonce+encrypt_key+原始body),challenge 要 1 秒内返回,事件 3 秒内回 200。 - ID 跟着
user_id_type走。传工号式 user_id 不声明类型会被当成 open_id,报用户不存在;open_id 不能跨应用用。 - 时间单位按接口变。多维表格日期是毫秒,审批日期控件是 RFC3339 字符串,历史消息查询参数是秒。
- 改完配置要发布应用。机器人能力、权限、通讯录范围、事件订阅都要发版;审批事件还要对每个审批定义调
subscribe。
无凭证探测
- 换 tenant_access_token 用伪造 app_id 返回 HTTP 200 +
{"code":10003,"msg":"invalid param"};Lark 国际版域名同路径返回相同结构 - 不带 token 返回 HTTP 400 +
99991661;只写 token 不写Bearer前缀同样是99991661;伪造t-token 为99991663 - 路径不存在或 HTTP 方法不对都返回 HTTP 404 纯文本
404 page not found,不是文档列出的 JSON 错误码99991201/99991301 - 自定义机器人伪造 hook ID 返回 HTTP 200 +
19001(指南未收录此错误码) - OAuth v3 令牌端点
accounts.feishu.cn/oauth/v3/token表单和 JSON 编码都可达,失败为 HTTP 400 +error/error_description/code;已标历史的 v2 端点仍在响应 llms-full.txt与/openapi.json等规范路径都是 HTTP 200 的 HTML 软 404,平台没有公开 OpenAPI 规范