
零成本打造您的专属 AI 营养师:用 Google 表格实现智能卡路里追踪
您是否也曾对 AI 的浪潮感到兴奋又焦虑,渴望将酷炫的 AI 技术应用到日常生活中,却又被复杂的工具和潜在的费用劝退?
好消息是,您不需要昂贵的软件或高深的编程知识。今天,我们将利用一个您早已熟悉的工具——Google 表格,结合其强大的脚本功能和免费的 AI 模型,一步步打造一个“智能卡路里追踪器”。您只需用手机上传餐点照片,AI 就能自动辨识食物、估算热量与营养成分,并帮您整齐地记录下来。
核心武器:Google Apps Script (GAS)
这个项目的核心魔法是 Google Apps Script (GAS)。
简单来说,GAS 是一个基于 JavaScript 的云端平台,能让您为 Google Workspace 的各种应用(如表格、文档、表单等)编写自动化脚本。最棒的是什么?
- 几乎免费:GAS 提供了非常慷慨的免费额度。对于个人或小团队的应用来说,每天 90 分钟的触发执行时间绰绰有余,每次执行通常只需几秒钟。
- 无需服务器:您不必担心服务器架设和维护,Google 会处理好所有底层设施。
- 整合性强:能无缝衔接 Gmail、Google 云端硬盘等服务。
- 开发便捷:使用通用的 JavaScript 语言,更何况在 AI 的加持下,您甚至不需要亲手编写每一行代码!
利用 GAS,我们可以将 Google 表单的资料提交、外部 AI 服务的调用和 Google 表格的数据写入这三个环节完美地串联起来。
第一步:获取您的 AI 通行证 — Gemini API 密钥
要让应用程序拥有 AI 大脑,我们需要通过 API(应用程序接口)与大型语言模型(如 Google 的 Gemini)沟通。您可以将 API 想象成餐厅的服务员:您只需要告诉服务员您想点什么,他就会帮您与厨房沟通,并将菜肴送到您的餐桌上,您无需关心后厨的复杂工作。
幸运的是,Google 目前为新用户提供了价值 300 美元的免费额度(三个月内有效),这对于我们这个项目来说绰绰有余。
- 登录 Google Cloud:前往 Google Cloud 平台,点击“免费开始使用”并完成注册。过程中需要绑定信用卡以验证身份,防止滥用,但只要您不手动升级到付费账户,就不会产生费用。
- 前往 Google AI Studio:接着,访问 Google AI Studio。
- 创建 API 密钥:登录后,点击右上角的
Get API key
→Create API key
,选择您刚刚创建的 Google Cloud 项目。 - 保存密钥:成功创建后,您会得到一串由字母和数字组成的 API 密钥。请立即将它复制并保存在一个安全的地方(如密码管理器或私人记事本),稍后我们会用到它。
第二步:搭建数据仓库 — 创建 Google 表格与表单
- 创建表格:在您的 Google 云端硬盘中,点击“新增”→“Google 表格”。
- 设置字段:为您的工作表命名(例如“每日记录”),并设置以下列标题:
- 日期
- 餐别
- 食物名称
- 份量
- 单位
- 总热量(kcal)
- 总蛋白(g)
- 总碳水化合物(g)
- 总脂肪(g)
- 创建表单:点击表格上方的“工具”→“创建新表单”。在打开的 Google 表单编辑页面中,设置以下问题:
- 餐别:使用选择题,选项可设为“早餐”、“午餐”、“晚餐”。
- 请简单说明这是什么食物(非必填):简答题,用于辅助 AI 更准确地判断。
- 上传食物照片:使用“文件上传”类型,并设置仅允许上传“图片”。
第三步:召唤代码精灵 — 让 AI 帮您写代码
现在,最神奇的部分来了。我们将让 AI 自己为我们编写所需的代码。
回到您的 Google 表格,点击“扩展程序”→“Apps Script”,这会打开一个新的代码编辑器分页。
接着,您可以向一个强大的 AI 模型(如 Gemini 2.5 Pro、ChatGPT-4o 或 Claude 3)发一个详细的指令。一个好的指令是成功的一半。您可以直接使用或修改以下为本次项目量身打造的提示:
请编写一个 Google Apps Script 函数,用于处理 Google 表单提交事件。
此函数需完成以下任务:
1. 从 Google 表单提交的事件对象 (e) 中,提取以下信息:
- 时间戳(自动字段)
- 餐别(问题标题为 "餐别")
- 食物说明(问题标题为 "请简单说明这是什么食物(非必填)",为选填字段)
- 上传食物照片的 Google Drive 文件 URL(问题标题为 "上传食物照片")
2. 从 Google Drive 文件 URL 中解析出文件 ID,并使用此 ID 从 Google Drive 中获取文件,将其内容转换为 Base64 编码字符串。
3. 调用 Gemini API 分析食物图片。
- 使用 Gemini 1.5 flash 模型
- API 密钥 (GEMINI_API_KEY) 需从 Apps Script 的脚本属性 (Script Properties) 中安全读取。如果密钥不存在,请记录错误并停止执行。
- 创建一个动态提示 (prompt) 给 Gemini API:
- 提示起始内容为:“你是一个专业的营养师,请分析这张图片中的食物。1. 辨识出图片中每一项独立的食物品项。2. 针对每一项食物,请估计其‘食物名称’(使用简体中文)、‘重量(克)’、‘总热量(kcal)’、‘蛋白质(g)’、‘碳水化合物(g)’、‘脂肪(g)’。3. 请严格依照以下 JSON 格式输出你的分析结果,不要包含任何 JSON 格式以外的文字或说明。”
- 如果用户有提供“食物说明”,则将其附加到提示中,例如:“重要参考信息:这张图片中的食物,用户说明是:‘[食物说明内容]’。请务必将此说明纳入考量,以提高你判断的准确度。”
- 提供 JSON 格式范例:
```json
{
"foods": [
{
"name": "卤肉饭",
"weight_g": 350,
"calories_kcal": 580,
"protein_g": 15,
"carbs_g": 80,
"fat_g": 22
}
]
}
```
- API 请求方法为 POST,内容类型为 `application/json`。
- 处理 API 响应:检查 HTTP 状态码是否为 200,并解析 JSON 响应。
- 如果 API 调用失败或未返回有效数据,需记录错误。
4. 将 Gemini API 分析出的食物营养数据写入到名称为“每日记录”的 Google 表格工作表中。
- 写入的数据字段顺序为:日期(当前日期)、餐别、食物名称、重量、单位(固定为“g”)、总热量、蛋白质、碳水化合物、脂肪。
- 如果工作表不存在,需记录错误并停止执行。
- 如果 API 返回的食物数据为空,需记录错误。
5. 代码需包含完整的错误处理(try-catch 区块)和日志记录(Logger.log)。
6. 代码应为 Google Apps Script (JavaScript) 语法。
将 AI 生成的代码完整复制,粘贴到 Apps Script 编辑器中,覆盖掉原有的默认内容。
第四步:最后的配置与测试
- 设置 API 密钥:在 Apps Script 编辑器页面,点击左侧的“项目设置”(齿轮图标)。向下滑动找到“脚本属性”,点击“编辑脚本属性”。在“属性”字段填入
GEMINI_API_KEY
,在“值”字段贴上您在第一步中保存的 API 密钥,然后保存。 - 设置触发器:点击左侧的“触发器”(闹钟图标),点击右下角的“新增触发器”。进行以下设置:
- 要运行的函数:选择 AI 为您生成的主函数(通常名为
onFormSubmit
或类似名称)。 - 事件来源:选择“从电子表格”。
- 事件类型:选择“提交表单时”。
- 点击“保存”。Google 可能会要求您授权此脚本访问您的账户数据,请同意授权。
- 要运行的函数:选择 AI 为您生成的主函数(通常名为
- 测试:一切就绪!回到您的 Google 表单,实际提交一次用餐记录,上传一张食物照片。稍等片刻,然后回到您的 Google 表格,看看是否有新的数据被自动填入。如果没成功,可以回到 Apps Script 编辑器,点击左侧的“执行”查看错误日志,并将错误信息丢回给 AI,让它帮您修正。
冷静评估:这只是一个开始
您可能会发现,AI 估算的营养数据并不算非常精准。例如,它可能会武断地将一个汉堡面包的重量设定为 100 克。
这是正常的。目前这个工具是一个“最小可行性产品(MVP)”,其主要目的是验证整个流程的可行性。AI 的判断基于 2D 照片,很难精确估算重量和体积,且大型语言模型本身并不擅长精确的数学计算。
但别灰心!我们已经成功证明了,仅用 Google 表格就能打造出实用的 AI 应用。后续,您可以自己探索,通过引入更精确的食物数据库、优化提示或增加手动校准功能等方式,不断提升它的准确性。
这就是 DIY 的乐趣所在。恭喜您,您已经迈出了将 AI 融入个人生活的第一步!
常见问题解答 (FAQ)
问:我需要会写代码吗? 答:完全不需要!本文的核心理念就是让 AI 为您编写代码。您只需要按照步骤操作,复制粘贴指令和代码即可。
问:这个工具要花钱吗? 答:基本上是免费的。Google App Script 和 Gemini API 都提供了足够个人使用的免费额度。
问:我的照片和数据隐私安全吗? 答:非常安全。整个工具建立在您自己的 Google 账户下,所有照片和数据都储存在您私人的 Google 云端硬盘和表格中,不会外泄。
问:如果 AI 判断不准确怎么办? 答:您可以在提交表单时,通过文字描述辅助 AI 判断。同时,这个工具的初衷是为了方便快速记录,您随时可以在表格中手动修改数据,以确保准确性。