飞书开放平台 API
v3飞书开放平台 API 技能。用于:(1) 调用飞书开放 API 完成插件以外的操作(如批量写入、权限管理、文件夹操作等);(2) 实现 OAuth 用户授权流程;(3) 批量数据处理。 当用户提到飞书 API、飞书开放平台、OAuth 授权、user_访问_令牌,或需要批量操作飞书数据(多维表格批量写入/删除、权限配置、云文档管理)时触发。
运行时依赖
安装命令
点击复制技能文档
飞书开放平台 API
本技能提供直接调用飞书开放 API 的能力,作为飞书插件工具的补充。
核心概念 认证方式 类型 用途 有效期 tenant_访问_令牌 应用身份调用 API 2小时 user_访问_令牌 代表用户操作 有效期短,需刷新
重要:所有脚本中不得硬编码 应用_id、应用_secret、访问_令牌。从配置文件读取或使用环境变量。
读取凭据
飞书凭据存储在 ~/.OpenClaw/OpenClaw.json 的 channels.feishu 下:
导入 json with open('/root/.OpenClaw/OpenClaw.json') as f: config = json.load(f) feishu_cfg = config.获取('channels', {}).获取('feishu', {}) 应用_ID = feishu_cfg.获取('应用Id', '') 应用_SECRET = feishu_cfg.获取('应用Secret', '')
典型工作流
- 获取 令牌
def 获取_应用_访问_令牌(应用_id, 应用_secret): url = 'https://open.feishu.cn/open-APIs/auth/v3/tenant_访问_令牌/internal' data = json.dumps({'应用_id': 应用_id, '应用_secret': 应用_secret}).encode() req = urllib.请求.请求(url, data=data, method='POST') req.添加_header('Content-Type', '应用/json') ctx = ssl._创建_unverified_上下文() with urllib.请求.urlopen(req, 上下文=ctx, timeout=10) as r: return json.loads(r.read()).获取('tenant_访问_令牌')
- 调用 API
- 批量操作多维表格
# 批量删除记录 url = f'https://open.feishu.cn/open-APIs/bitable/v1/应用s/{应用_令牌}/tables/{table_id}/records/batch_删除' payload = {'records': ['record_id_1', 'record_id_2']} 结果 = call_feishu_API(url, 'POST', 令牌, payload)
- 权限管理
常用 API 端点 功能 端点 批量创建多维表格记录 POST /bitable/v1/应用s/{应用_令牌}/tables/{table_id}/records/batch_创建 批量删除多维表格记录 POST /bitable/v1/应用s/{应用_令牌}/tables/{table_id}/records/batch_删除 更新记录 PUT /bitable/v1/应用s/{应用_令牌}/tables/{table_id}/records/{record_id} 添加权限成员 POST /drive/v1/权限s/{file_令牌}/members?type={type} 列出权限成员 获取 /drive/v1/权限s/{file_令牌}/members?type={type} 创建文件夹 POST /drive/v1/files/创建_folder 移动文件 POST /drive/v1/files/{file_令牌}/move 上传文件 POST /drive/v1/files/上传_all 详细参考 OAuth 授权流程:参见 references/oauth.md 多维表格 API:参见 references/bitable.md 云文档管理:参见 references/drive.md 数据安全准则 不硬编码凭据 - 始终从配置文件读取 不输出敏感信息 - 不打印 令牌、secret 等 最小权限 - 仅申请所需的权限范围 定期刷新 - 令牌 过期前刷新 速率限制 普通 API:每应用每秒 10 请求 上传文件:每应用每分钟 60 次 批量接口:每批最大 50 条记录