飞书多维表格附件上传
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_91b20c94/feishu-bitable-attachment。
技能介绍
要解决什么问题
在飞书(Lark)多维表格里,附件字段不能直接塞本地路径或 IM 里的 file_key:素材要走 material 上传(parent_type=bitable_file),拿到 file_token 后才能写入记录的附件列。手工调 Open API、分片上传和大文件阈值,很容易在「表/字段/记录」定位上踩坑。
技能如何工作
本技能按固定流水线处理任意你有权限的 Bitable(不写死 app_token、表名或字段):
- 取源文件:
local本地路径、urlHTTP(S) 下载,或feishu_message用消息附件的file_key拉取。 - 上传素材:≤20MB 直传;>20MB 走 5MB 分片的
chunked_upload(prepare → 分片 → finish),得到file_token。 - 写回记录:创建或更新记录中的附件字段;
append=true时在现有附件列表后追加,false则仅保留本次文件。
目标解析支持 ID 优先、名称回退:表用 table_id 或 table_name 列举匹配;字段用 field_id 或 field_name;记录用 record_id、按 lookup 查字段值,或省略两者新建行(allow_create_if_lookup_missing 可控制查无结果时是否创建)。
适用边界与注意点
- 需正确配置
FEISHU_APP_ID/FEISHU_APP_SECRET及应用对目标多维表格与上传接口的权限;鉴权或上传失败会表现为auth_error、upload_error。 - Drive/IM 返回的 token 不能直接当 Bitable 附件用,必须经本技能所述 bitable 上传点(详见资料中的 API 说明)。
- 表/字段列举、记录筛选等响应格式若与文档不一致,需在真实租户环境里核对;本地已通过语法与入参校验,但部分 API 行为仍依赖线上验证。
使用场景
- 客服机器人收到用户发来的消息附件,需按工单号在多维表格里查到对应行并把文件追加到附件列
- 定时任务从 HTTPS 拉取合同 PDF,写入指定 `app_token` 底表中「合同」附件字段并新建一条记录
- 运维脚本把 `/tmp` 下生成的报表上传到已知 `record_id` 的行,用 `append=false` 覆盖该字段仅保留最新文件
- 对接多个业务底表时只传 `table_name` 与 `field_name`,由技能列举表字段后匹配并更新记录
适合人员
- 维护飞书应用与机器人、需要把 IM 消息里的 `file_key` 落到业务多维表格附件字段的后端工程师
- 用多维表格做项目/合同台账、要把外部 URL 或本地导出文件自动挂到指定表行上的实施或运营配置人员
- 编写自动化流水线、需在创建或更新 Bitable 记录时统一走 bitable_file 上传而非手写 Drive token 的内部工具开发者
- 管理多个 `app_token` 底表、希望通过表名/字段名而非硬编码 ID 完成附件写入的集成负责人