OpenClaw 实战:用原生工具 web_fetch 关键词搜索,自动写入飞书多维表格
🔍 OpenClaw 实战:用 web_fetch 关键词搜索,自动写入飞书多维表格
OpenClaw 通过原生工具 web_fetch 搜索网页,再通过 exec 调用飞书 API,自动创建多维表格并批量写入数据。
🎯 从搜索到入库,一条工具链搞定。web_fetch 抓取网页 → exec 调用飞书 API 建表 → 批量写入 → 设置权限,全自动。
📌 背景
今天的任务:搜索「微信公众号 skills」相关的热门文章,自动创建飞书多维表格,把搜索结果写进去。
一、搜索网页:web_fetch ≠ 浏览器自动化
web_fetch 是什么?
OpenClaw Agent 自带 web_fetch工具,走 HTTP 请求直接抓取网页内容。和 Chrome 扩展的浏览器自动化 完全不同:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
搜索引擎踩坑
用 web_fetch 搜索时,不同搜索引擎表现差异很大:
|
|
|
|
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
🕳️ 百度搜索的坑:跳转链接
百度返回的链接不是真实 URL,而是 baidu.com/link?url=…格式的跳转链接。需要解析 302 重定向拿到真实地址。
# web_fetch 抓取百度搜索结果web_fetch("https://www.baidu.com/s?wd=微信公众号+skills+教程+自动发布")# 解析百度跳转链接,获取真实 URLcurl -sI -o /dev/null -w '%{redirect_url}' "http://www.baidu.com/link?url=xxx"
二、获取飞书 API Token
飞书所有 API 调用都需要 tenant_access_token,用应用的 AppID + AppSecret 换取:
curl -X POST https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal \ -H "Content-Type: application/json" \ -d '{"app_id":"你的AppID","app_secret":"你的AppSecret"}'
返回示例:
{ "tenant_access_token": "t-xxxxxxxx", "expire": 7200}
⚠️ Token 有效期 2 小时,过期需要重新获取。
三、创建飞书多维表格
curl -X POST https://open.feishu.cn/open-apis/bitable/v1/apps \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"公众号skills"}'
返回两个关键值:
- app_token
— 表格的唯一标识 - default_table_id
— 默认数据表的 ID
后续所有操作都需要这两个值。
四、配置表格字段
默认创建的表格有「文本、单选、日期、附件」四个字段,需要调整成我们要的结构。
1. 删除不需要的字段
curl -X DELETE ".../fields/{field_id}" \ -H "Authorization: Bearer $TOKEN"
2. 重命名字段
curl -X PUT ".../fields/{field_id}" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"field_name":"标题","type":1}'
⚠️ 踩坑:PUT 请求必须带 type字段!只传 field_name 不传 type 会报 validation failed。
3. 添加新字段
# 添加链接字段(type=15)curl -X POST ".../fields" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"field_name":"链接","type":15}'# 添加摘要字段(type=1)curl -X POST ".../fields" \ -d '{"field_name":"摘要","type":1}'
五、批量写入记录
curl -X POST ".../records/batch_create" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "records": [ { "fields": { "标题": "文章标题", "链接": {"text":"查看文章","link":"https://example.com/article"}, "摘要": "文章摘要内容..." } } ] }'
💡 URL 字段格式
URL 类型字段的值格式是 {“text”:”显示文本”,”link”:”链接地址”},不是普通字符串。
六、设置编辑权限(关键!)
应用创建的表格,用户默认 只有只读权限。必须用 API 设置链接分享权限,否则打开表格什么都改不了:
curl -X PATCH \ "https://open.feishu.cn/open-apis/drive/v1/permissions/{app_token}/public?type=bitable" \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ "external_access_entity": "open", "security_entity": "anyone_can_view", "comment_entity": "anyone_can_view", "share_entity": "anyone", "link_share_entity": "anyone_editable" }'
🕳️ 踩坑记录
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
📊 完整调用链路
🔍 搜索网页(web_fetch + 百度)↓提取文章标题/链接/摘要🔑 获取飞书 Token(AppID + AppSecret)↓📊 创建多维表格(POST /bitable/v1/apps)↓拿到 app_token + table_id🔧 配置字段(DELETE/PUT/POST /fields)↓📝 批量写入记录(POST /records/batch_create)↓🔓 设置编辑权限(PATCH /permissions)↓✅ 完成!打开飞书即可查看和编辑
💭 写在最后
这个流程的核心思路是:把 AI Agent 当成 API 调用的编排器。
搜索引擎、飞书 API、数据处理 — 每一步都是标准的 HTTP 请求,AI 负责把它们串起来,处理中间的数据转换和异常。不需要浏览器,不需要 UI,纯后端链路。
这种模式特别适合:
-
定期抓取信息并归档 -
自动化数据录入 -
跨平台数据同步
下次试试让 AI 定时执行这个流程,实现全自动的信息收集 🎯
— 勇敢牛牛AI赋能· OpenClaw ✖️飞书多维表格实战教程 —
夜雨聆风