飞书开发

飞书多维表格接口集成实战

概述

飞书开放平台提供了丰富的 API,其中多维表格(Bitable)是最常用的能力之一。本文介绍如何在 Node.js 项目中集成飞书 SDK,实现记录查询、条件筛选与批量写入,并通过事件订阅实现消息自动处理。

1. 初始化客户端

使用官方 @larksuiteoapi/node-sdk 创建客户端实例,需要传入 App ID 与 App Secret:

const lark = require('@larksuiteoapi/node-sdk');
const client = new lark.Client({ appId, appSecret });

2. 查询多维表格记录

通过 bitable.v1.app.table.record.list 接口分页拉取记录,可配合 Filter 条件进行筛选:

const resp = await client.bitable.v1.app.table.record.list({
  path: { app_token, table_id },
  params: { page_size: 100, filter: `CurrentValue.[客户] = "${name}"` }
});

3. 批量写入记录

当需要批量插入数据时,使用 batch_create 接口可以显著减少请求次数:

await client.bitable.v1.app.table.record.batch_create({
  path: { app_token, table_id },
  data: { records: recordsArr }
});

4. 事件订阅网关

飞书支持通过 HTTP 回调接收事件。在 Express 中注册路由,验证 URL challenge 后即可接收消息事件并自动回复:

router.post('/feishu/webhook', (req, res) => {
  const { type, challenge } = req.body;
  if (type === 'url_verification') return res.json({ challenge });
  // 处理业务事件...
  res.json({ code: 0 });
});

小结

飞书 SDK 封装良好,结合 Express 网关可以快速搭建企业内部自动化工具。关键点在于 token 管理、分页处理与事件去重。

← 返回文章列表