搜索多个不同列结构的 Google Sheet 工作表标签
本指南介绍如何将 如何让 AI 搜索 Google Sheet 中的数据 中的标准单表 API 升级为多表、多列的版本,让你的 AI 销售员工可以跨多个 Google Sheet 工作表标签搜索,每个标签可以拥有完全不同的列结构。
工作原理
我们不再将一个工作表和一组列写死在代码里,而是在脚本顶部使用一个 SHEET_CONFIG 对象。每个条目将一个工作表标签名称映射到其可搜索的列。脚本会遍历所有已配置的工作表,返回匹配的结果,并标注每条结果来自哪个工作表。
你唯一需要修改的部分
在脚本顶部找到 SHEET_CONFIG,将它更新为与你实际的工作表标签名称和列标题一致:
const SHEET_CONFIG = {
'Data' : ['id', 'name', 'price', 'description', 'stock_quantity', 'permalink'],
'Table' : ['property_id', 'location', 'price', 'bedroom', 'bathroom', 'size_sqft', 'agent_name'],
'Sheet3': ['client_id', 'client_name', 'email', 'phone', 'status'],
// Add more sheets below as needed
};
第 1 步:设置你的 API 密钥
在部署之前,你需要创建一个密钥,确保只有你的 AI 销售员工能访问该 API。
- 在 Apps Script 编辑器中,点击左侧边栏的 Project Settings(项目设置,齿轮图标)
- 向下滚动到 Script Properties,点击 Add script property
- 填写 Property:
API_SECRET,Value: 一个强随机字符串,仅限字母和数字,不含符号(例如aB3kR9mX2wQ7nL5p) - 点击 Save script properties
可以使用密码生成器并复制结果。不要有空格,不要有符号,仅限字母和数字。
第 2 步:部署为网络应用
- 点击右上角的 Deploy,然后选择 New deployment
- 点击 “Select type” 旁边的齿轮图标,选择 Web app
- 填写 Description(例如 Multi-Sheet Search API),将 Execute as: 设置为 Me,Who has access: 设置为 Anyone
- 点击 Deploy
- Google 会要求你 Authorize access(授权访问),按提示操作即可
- 成功后,复制 Web App URL,配置自定义工具时会用到
完整脚本
将下面的完整脚本粘贴到 Extensions → Apps Script 中,替换所有现有代码:
快速参考:如何修改 SHEET_CONFIG
- 添加新工作表: 加一行,例如
'MyNewSheet': ['col1', 'col2', 'col3'], - 移除工作表: 删除对应的那一行
- 重命名工作表标签: 更新配置中的名称,使其与新的标签名一致,例如把
'OldName': ['col1', 'col2'],改为'NewName': ['col1', 'col2'],
自定义工具配置
自定义工具的配置方式与单表版指南完全相同,请求 URL 如下:
https://<YOUR_WEB_APP_URL>?secret=<YOUR_API_SECRET>&search=
可选的额外动态参数(让 AI 可以只搜索某个特定工作表):
- Name: sheet
- Type: String
- Location: Query
- Required: No
建议的系统提示词
请根据你的实际数据调整工作表名称和列描述:
> You have access to a "search_sheet" tool that searches across multiple data sources:
> Data: Product catalog (id, name, price, description, stock, link)
> Table: Property listings (location, price, bedrooms, bathrooms, size, agent)
> Sheet3: Client records (name, email, phone, status)
> Always use this tool to retrieve accurate, live data before answering. Each result will include a "_source_sheet" field to indicate which sheet it came from.
与单表版本的主要区别
- 工作表数量: 单表版支持 1 个,多表版没有限制
- 列结构: 单表版所有数据使用同一组列,多表版允许每个工作表有不同的列
- 结果标注: 多表版会给每条结果添加一个
_source_sheet字段 - 可选的工作表筛选: 多表版允许 AI 传入
?sheet=SheetName,只搜索某一个标签 - 配置位置: 多表版把所有配置集中在脚本顶部的
SHEET_CONFIG对象中