搜尋多個不同欄位結構的 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物件中