文档备案控制台
免费开始使用

影刀RPA进阶教程:飞书多维表格联动——从授权配置到数据读写完整指南

采集数据之后的下一步是什么?团队协作。Excel发来发去容易版本混乱,飞书多维表格支持多人实时查看、API自动写入,简直是做数据看板的绝配。

我从去年开始把所有采集数据从Excel迁移到飞书多维表格——每天早上定时任务跑完,数据自动写进表格,运营同事打开飞书就能看到最新数据,再也不用我手动发文件了。这篇文章把飞书多维表格联动的完整流程、核心指令、Token过期坑点一次性讲清楚。

一、飞书开放平台应用创建(绕不过去的第一步)

要操作飞书多维表格,必须先创建一个飞书应用,拿到App ID和App Secret。

picture.image

操作步骤

picture.image

picture.image

  1. 打开飞书开放平台https://open.feishu.cn/
  2. 点击“创建企业自建应用”,填写应用名称和描述
  3. 创建完成后,进入应用详情页,找到**“凭证与基础信息”,记录下App IDApp Secret**

picture.image 4. 在左侧菜单找到**“权限管理”**,搜索并开启以下权限:

  • bitable:app:read(读取多维表格)
  • bitable:app:write(写入多维表格)
  • bitable:record:read(读取记录)
  • bitable:record:write(写入记录)
  1. 点击**“版本管理与发布”**,发布应用(第一次发布免审核)

picture.image

这里容易踩坑:应用必须发布后才能生效。没发布的话,影刀连接时会报权限错误。另外只有飞书企业版才能创建自建应用,个人版没有开发者后台入口。

关于应用授权:如果你开发的应用要给别人用,对方也需要在飞书里安装并授权这个应用,否则无法读取对方的多维表格。

picture.image

二、获取多维表格的ID

飞书多维表格有两种ID格式:basewiki

  • base ID:URL格式为 https://xxxx.feishu.cn/base/xxxxxxxxxxxxxbase/后面那一串就是baseId

picture.image

  • wiki ID:URL格式为 https://xxxx.feishu.cn/wiki/xxxxxxxxxxxxxwiki/后面那一串也能用

两种格式影刀都能连接。不管URL里是base还是wiki,把后面的那串ID复制出来就行。

picture.image

创建多维表格的正确路径:飞书云盘 → 我的文件夹 → 新建 → 多维表格。不要从其他入口创建,否则影刀可能识别不到。

三、建立多维表格连接

拿到App ID、App Secret和多维表格ID后,在影刀里拖入**“建立多维表格连接”**指令。

操作步骤:

  1. 右侧指令面板搜索“建立多维表格连接”,拖入流程
  2. 填写三个参数:
    • App ID:从飞书开放平台复制
    • App Secret:从飞书开放平台复制
    • 多维表格ID:从URL中复制
  3. 运行后,指令会返回一个多维表格对象,存到变量(比如叫多维表对象

后续所有读写操作都要基于这个对象来执行。

容易踩坑:多维表格对象要保存好,后续所有指令都需要用到它。如果丢了,就得重新连接。

picture.image

四、核心指令实操:增、删、改、查

飞书多维表格(RPA)一共有21个指令。最常用的就四个:添加记录、更新记录、查询记录、删除记录

4.1 添加记录(写入数据)

采集到数据后,最常用的操作就是往表格里加一行。

操作步骤:

  1. 拖入**“添加记录”**指令
  2. 选择刚才建立的多维表格对象
  3. 在**“字段值”**参数中,填写要写入的数据
# 字段值格式:JSON对象
# 假设多维表格有3列:标题、价格、销量
{
    "标题": "iPhone 15 手机壳",
    "价格": 29.9,
    "销量": 1234
}

picture.image 坑点提醒:字段名必须完全匹配多维表格里的列名(区分大小写)。如果列名是商品标题,你写标题是写不进去的。

4.2 批量添加记录

如果需要一次性写入多条数据,用**“批量添加记录”**指令。

# 传入一个列表,每个元素是一条记录的字段值
[
    {"标题": "商品A", "价格": 29.9},
    {"标题": "商品B", "价格": 39.9},
    {"标题": "商品C", "价格": 49.9}
]

性能注意:批量添加比循环单条添加快得多。采集完一批数据后(比如10条),攒在一起批量写入,效率更高。

4.3 查询记录(读取数据)

从多维表格读取数据,用于“读取关键词列表”或“检查是否已存在”等场景。

操作步骤:

  1. 拖入**“查询记录”**指令
  2. 设置筛选条件(可选)
# 查询所有记录(不设筛选条件)
# 返回一个记录列表

# 查询特定条件的记录
# 比如:查询状态为"待处理"的记录
# 筛选条件格式:{"状态": "待处理"}

返回结果:每条记录是一个字典,可以用“获取字典值”指令提取字段。

4.4 更新记录(修改数据)

更新已存在的记录,需要知道记录的record_id

操作步骤:

  1. 先“查询记录”获取目标记录的record_id
  2. 拖入**“更新记录”**指令
  3. 传入record_id和要更新的字段值
# 更新记录:把record_id为xxx的记录的状态改为"已完成"
{
    "record_id": "xxxxxxxxx",
    "字段值": {
        "状态": "已完成"
    }
}

常见报错:更新记录时报'None' has no attribute 'get',通常是字段类型不匹配数据格式错误。检查传入的数据类型是否跟多维表格的列类型一致(文本列传字符串,数字列传数字)。

4.5 删除记录

根据record_id删除记录。

操作步骤:

  1. 查询获取record_id
  2. 拖入**“删除记录”**指令,传入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

七、飞书群消息通知(采集完成提醒)

采集任务跑完后,自动在飞书群里发一条消息通知团队,这是很多人的刚需。

操作步骤

  1. 在飞书群里添加一个自定义机器人(群设置 → 机器人 → 添加机器人)
  2. 复制机器人的Webhook地址
  3. 在影刀里拖入**“飞书群通知”**指令
  4. 填入Webhook地址和消息内容
# 发送文本消息
{
    "消息类型": "文本",
    "内容": "【采集完成】今日共采集商品1234条,耗时15分钟"
}

# 发送消息卡片(更美观)
# 支持文本、图片、富文本、消息卡片四种类型

群机器人@指定成员

飞书群通知指令支持**@单个成员**。在消息内容中用@用户名的格式即可。

八、完整实战模板:采集数据写入飞书多维表格

这是一个完整的电商数据采集+飞书写入流程:

【主流程】
→ 连接飞书多维表格 → 多维表对象
→ 设置 连接时间 = 当前时间

→ 循环(关键词列表):
    → 搜索关键词
    → 采集商品列表(10条)

    → 【检查token】
    → 如果 当前时间 - 连接时间 > 30分钟:
        → 重新连接飞书多维表格 → 更新多维表对象
        → 连接时间 = 当前时间

    → 【批量写入飞书】
    → 把10条商品数据组装成列表
    → 批量添加记录(多维表对象, 商品数据列表)

    → 【输出日志】
    → 输出日志:"已写入{数量}条数据"

→ 循环结束

→ 【发送通知】
→ 飞书群通知:"采集完成!共写入{总数}条数据"
# 组装写入数据的格式
商品数据列表 = []
循环采集到的每个商品:
    一条记录 = {
        "商品标题": 标题,
        "商品价格": 价格,
        "商品销量": 销量,
        "采集时间": 当前时间,
        "关键词": 当前关键词
    }
    添加到列表(商品数据列表, 一条记录)

# 批量写入(一次性写10条,比逐条写快很多)
批量添加记录(多维表对象, 商品数据列表)

常见问题/易错速查

  1. 连接时报错"Forbidden"(错误码91403) → 检查飞书应用的权限是否开启了多维表格相关权限,且应用已发布。

  2. 写入数据没反应,但也没报错 → 检查字段名是否跟多维表格的列名完全一致(包括大小写)。

  3. 运行1小时后突然报错Invalid access token → token过期了。在循环中每30分钟重新连接一次。

  4. 上传图片报错"路径无效" → Windows路径中的反斜杠改成正斜杠,或用双反斜杠。

  5. 添加记录时报错"'None' has no attribute 'get'" → 字段类型不匹配。检查传入的数据类型是否跟列类型一致(数字列不能传字符串)。

  6. 添加记录指令无法上传多个附件 → 用ForEach循环逐条添加。

  7. 飞书指令突然报语法错误 → 可能是影刀版本问题。可以尝试降级到老版本:找到影刀安装目录下的ShadowBot.Shell.exe运行即可。

  8. 别人用不了你开发的飞书应用 → 对方需要在飞书里安装并授权该应用。

推荐资源

  1. 影刀官方社区搜索“飞书多维表格”,有括号家族系列教程(共21个指令详解)
  2. 飞书开放平台错误码查询:https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN
  3. 影刀开发者社区搜“飞书token过期”有完整解决方案
  4. B站“小可耐教你学影刀RPA”有飞书机器人和多维表格的实操视频

#影刀RPA #RPA自动化 #飞书多维表格 #飞书联动 #数据采集 #电商自动化

作者:林焱

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。

0
0
0
0
评论
未登录
暂无评论