采集数据之后的下一步是什么?团队协作。Excel发来发去容易版本混乱,飞书多维表格支持多人实时查看、API自动写入,简直是做数据看板的绝配。
我从去年开始把所有采集数据从Excel迁移到飞书多维表格——每天早上定时任务跑完,数据自动写进表格,运营同事打开飞书就能看到最新数据,再也不用我手动发文件了。这篇文章把飞书多维表格联动的完整流程、核心指令、Token过期坑点一次性讲清楚。
一、飞书开放平台应用创建(绕不过去的第一步)
要操作飞书多维表格,必须先创建一个飞书应用,拿到App ID和App Secret。
操作步骤
- 打开飞书开放平台:
https://open.feishu.cn/ - 点击“创建企业自建应用”,填写应用名称和描述
- 创建完成后,进入应用详情页,找到**“凭证与基础信息”,记录下App ID和App Secret**
4. 在左侧菜单找到**“权限管理”**,搜索并开启以下权限:
bitable:app:read(读取多维表格)bitable:app:write(写入多维表格)bitable:record:read(读取记录)bitable:record:write(写入记录)
- 点击**“版本管理与发布”**,发布应用(第一次发布免审核)
这里容易踩坑:应用必须发布后才能生效。没发布的话,影刀连接时会报权限错误。另外只有飞书企业版才能创建自建应用,个人版没有开发者后台入口。
关于应用授权:如果你开发的应用要给别人用,对方也需要在飞书里安装并授权这个应用,否则无法读取对方的多维表格。
二、获取多维表格的ID
飞书多维表格有两种ID格式:base和wiki。
- base ID:URL格式为
https://xxxx.feishu.cn/base/xxxxxxxxxxxxx,base/后面那一串就是baseId
- wiki ID:URL格式为
https://xxxx.feishu.cn/wiki/xxxxxxxxxxxxx,wiki/后面那一串也能用
两种格式影刀都能连接。不管URL里是base还是wiki,把后面的那串ID复制出来就行。
创建多维表格的正确路径:飞书云盘 → 我的文件夹 → 新建 → 多维表格。不要从其他入口创建,否则影刀可能识别不到。
三、建立多维表格连接
拿到App ID、App Secret和多维表格ID后,在影刀里拖入**“建立多维表格连接”**指令。
操作步骤:
- 右侧指令面板搜索“建立多维表格连接”,拖入流程
- 填写三个参数:
- App ID:从飞书开放平台复制
- App Secret:从飞书开放平台复制
- 多维表格ID:从URL中复制
- 运行后,指令会返回一个多维表格对象,存到变量(比如叫
多维表对象)
后续所有读写操作都要基于这个对象来执行。
容易踩坑:多维表格对象要保存好,后续所有指令都需要用到它。如果丢了,就得重新连接。
四、核心指令实操:增、删、改、查
飞书多维表格(RPA)一共有21个指令。最常用的就四个:添加记录、更新记录、查询记录、删除记录。
4.1 添加记录(写入数据)
采集到数据后,最常用的操作就是往表格里加一行。
操作步骤:
- 拖入**“添加记录”**指令
- 选择刚才建立的多维表格对象
- 在**“字段值”**参数中,填写要写入的数据
# 字段值格式:JSON对象
# 假设多维表格有3列:标题、价格、销量
{
"标题": "iPhone 15 手机壳",
"价格": 29.9,
"销量": 1234
}
坑点提醒:字段名必须完全匹配多维表格里的列名(区分大小写)。如果列名是
商品标题,你写标题是写不进去的。
4.2 批量添加记录
如果需要一次性写入多条数据,用**“批量添加记录”**指令。
# 传入一个列表,每个元素是一条记录的字段值
[
{"标题": "商品A", "价格": 29.9},
{"标题": "商品B", "价格": 39.9},
{"标题": "商品C", "价格": 49.9}
]
性能注意:批量添加比循环单条添加快得多。采集完一批数据后(比如10条),攒在一起批量写入,效率更高。
4.3 查询记录(读取数据)
从多维表格读取数据,用于“读取关键词列表”或“检查是否已存在”等场景。
操作步骤:
- 拖入**“查询记录”**指令
- 设置筛选条件(可选)
# 查询所有记录(不设筛选条件)
# 返回一个记录列表
# 查询特定条件的记录
# 比如:查询状态为"待处理"的记录
# 筛选条件格式:{"状态": "待处理"}
返回结果:每条记录是一个字典,可以用“获取字典值”指令提取字段。
4.4 更新记录(修改数据)
更新已存在的记录,需要知道记录的record_id。
操作步骤:
- 先“查询记录”获取目标记录的record_id
- 拖入**“更新记录”**指令
- 传入record_id和要更新的字段值
# 更新记录:把record_id为xxx的记录的状态改为"已完成"
{
"record_id": "xxxxxxxxx",
"字段值": {
"状态": "已完成"
}
}
常见报错:更新记录时报'None' has no attribute 'get',通常是字段类型不匹配或数据格式错误。检查传入的数据类型是否跟多维表格的列类型一致(文本列传字符串,数字列传数字)。
4.5 删除记录
根据record_id删除记录。
操作步骤:
- 查询获取record_id
- 拖入**“删除记录”**指令,传入record_id
五、Token过期的坑与解决方案(必看)
这是飞书联动里最容易踩的坑——流程跑着跑着突然报错Invalid access token。
根本原因:飞书的access token有效期为1.5-2小时。如果流程运行时间超过这个时长,token就过期了,后续所有操作都会报错。
解决方案一:定期重新连接(推荐)
在循环中定期刷新连接。
连接飞书多维表格 → 获取连接时间
循环处理数据:
→ 如果 当前时间 - 连接时间 > 30分钟:
→ 重新连接飞书多维表格
→ 更新连接时间
→ 执行数据操作
循环结束
解决方案二:异常捕获+重连
在每个飞书指令外面包一层Try-Catch,捕获到token过期错误就重新连接并重试。
Try:
添加记录(多维表对象, 数据)
Catch:
如果 错误信息包含"token":
重新连接飞书多维表格
重试添加记录
否则:
记录其他错误
Try结束
创业版以上用户还可以配合飞书消息触发器,设置Webhook回调来刷新token。
六、附件上传的特殊坑点(进阶)
多维表格的附件列(图片、文件)上传,坑最多。
坑点一:指令设计缺陷
影刀的“添加记录”指令在处理附件字段时,无法直接识别由“上传素材”返回的file_token。它强行要求输入“本地文件路径”。
坑点二:路径转义问题
Windows路径C:\Users\xxx\image.png中的\U在Python里会被当成转义字符。
解决方法:路径中的反斜杠\改成正斜杠/,或者用双反斜杠\\。
# 错误(会报路径无效)
"C:\Users\admin\image.png"
# 正确(用正斜杠)
"C:/Users/admin/image.png"
# 或者用双反斜杠
"C:\\Users\\admin\\image.png"
坑点三:多个附件上传
“添加记录”指令不支持一次上传多个附件。如果需要上传多个文件,可以把文件路径放在列表里,用ForEach循环逐条添加。
单个文件不超过20MB。
七、飞书群消息通知(采集完成提醒)
采集任务跑完后,自动在飞书群里发一条消息通知团队,这是很多人的刚需。
操作步骤
- 在飞书群里添加一个自定义机器人(群设置 → 机器人 → 添加机器人)
- 复制机器人的Webhook地址
- 在影刀里拖入**“飞书群通知”**指令
- 填入Webhook地址和消息内容
# 发送文本消息
{
"消息类型": "文本",
"内容": "【采集完成】今日共采集商品1234条,耗时15分钟"
}
# 发送消息卡片(更美观)
# 支持文本、图片、富文本、消息卡片四种类型
群机器人@指定成员
飞书群通知指令支持**@单个成员**。在消息内容中用@用户名的格式即可。
八、完整实战模板:采集数据写入飞书多维表格
这是一个完整的电商数据采集+飞书写入流程:
【主流程】
→ 连接飞书多维表格 → 多维表对象
→ 设置 连接时间 = 当前时间
→ 循环(关键词列表):
→ 搜索关键词
→ 采集商品列表(10条)
→ 【检查token】
→ 如果 当前时间 - 连接时间 > 30分钟:
→ 重新连接飞书多维表格 → 更新多维表对象
→ 连接时间 = 当前时间
→ 【批量写入飞书】
→ 把10条商品数据组装成列表
→ 批量添加记录(多维表对象, 商品数据列表)
→ 【输出日志】
→ 输出日志:"已写入{数量}条数据"
→ 循环结束
→ 【发送通知】
→ 飞书群通知:"采集完成!共写入{总数}条数据"
# 组装写入数据的格式
商品数据列表 = []
循环采集到的每个商品:
一条记录 = {
"商品标题": 标题,
"商品价格": 价格,
"商品销量": 销量,
"采集时间": 当前时间,
"关键词": 当前关键词
}
添加到列表(商品数据列表, 一条记录)
# 批量写入(一次性写10条,比逐条写快很多)
批量添加记录(多维表对象, 商品数据列表)
常见问题/易错速查
-
连接时报错"Forbidden"(错误码91403) → 检查飞书应用的权限是否开启了多维表格相关权限,且应用已发布。
-
写入数据没反应,但也没报错 → 检查字段名是否跟多维表格的列名完全一致(包括大小写)。
-
运行1小时后突然报错Invalid access token → token过期了。在循环中每30分钟重新连接一次。
-
上传图片报错"路径无效" → Windows路径中的反斜杠改成正斜杠,或用双反斜杠。
-
添加记录时报错"'None' has no attribute 'get'" → 字段类型不匹配。检查传入的数据类型是否跟列类型一致(数字列不能传字符串)。
-
添加记录指令无法上传多个附件 → 用ForEach循环逐条添加。
-
飞书指令突然报语法错误 → 可能是影刀版本问题。可以尝试降级到老版本:找到影刀安装目录下的
ShadowBot.Shell.exe运行即可。 -
别人用不了你开发的飞书应用 → 对方需要在飞书里安装并授权该应用。
推荐资源
- 影刀官方社区搜索“飞书多维表格”,有括号家族系列教程(共21个指令详解)
- 飞书开放平台错误码查询:
https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN - 影刀开发者社区搜“飞书token过期”有完整解决方案
- B站“小可耐教你学影刀RPA”有飞书机器人和多维表格的实操视频
#影刀RPA #RPA自动化 #飞书多维表格 #飞书联动 #数据采集 #电商自动化
作者:林焱
本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。
