关于 google-apps-script
此技能提供 Google Apps Script 的使用指南与示例,这是一种用于自动化 Google Workspace 服务的云端 JavaScript 平台。内容涵盖核心服务、触发器、验证、测试和实践建议。
主要功能
- 01自动化 Sheets、Docs、Gmail、Drive 和 Calendar
- 02运行定时及事件驱动触发器
- 03使用提供的检查脚本验证
- 04采用批处理、缓存和错误处理
适用场景
- 01根据电子表格数据生成报告
- 02自动处理邮件、文档或日历任务
- 03通过多个触发器安排大型任务
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ henkisdabro/ wookstar-claude-plugins --skill google-apps-script安装后在 Claude Code 中输入/google-apps-script确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/spreadsheet-automation-template.jstrigger-setup-template.jsreferences/apps-script-api-reference.mdbest-practices.mdexamples.mdpatterns.mdscripts/validators.py详细介绍
Google Apps Script
概述
用于自动化 Google Workspace 服务的云端 JavaScript 平台。采用服务端 V8 运行时,并可自动集成 Sheets、Docs、Gmail、Drive、Calendar 等服务的 OAuth。
核心服务
- SpreadsheetApp - Google Sheets 自动化(读取、写入、格式设置、数据验证)
- DocumentApp - 创建和编辑 Google Docs
- GmailApp & MailApp - 电子邮件操作(发送、搜索、管理标签)
- DriveApp - 文件和文件夹管理、共享、权限设置
- CalendarApp - 日历事件、定期日程、提醒
- Triggers & ScriptApp - 基于时间和事件的自动化
快速入门
function generateWeeklyReport() {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const sheet = ss.getSheetByName('Data');
const data = sheet.getRange('A2:D').getValues();
const report = data.filter(row => row[0]);
const summarySheet = ss.getSheetByName('Summary') || ss.insertSheet('Summary');
summarySheet.clear();
summarySheet.appendRow(['Name', 'Value', 'Status']);
report.forEach(row => summarySheet.appendRow([row[0], row[1], row[2]]));
MailApp.sendEmail({
to: Session.getEffectiveUser().getEmail(),
subject: 'Weekly Report Generated',
body: `Report generated with ${report.length} records.`
});
}
最佳实践
- 批量操作 - 批量读取/写入范围,切勿在循环中逐个处理单元格
- 缓存数据 - 对频繁访问的数据使用 CacheService(TTL 为 25 分钟)
- 错误处理 - 使用 try/catch 包装操作,并将错误记录到工作表中以便审计
- 遵守限制 - 执行超时为 6 分钟;通过多个触发器拆分大型任务
- 尽量减少权限范围 - 在
appsscript.json中仅申请必要的 OAuth 权限 - 持久化存储 - 使用 PropertiesService 存储配置和状态
- 验证输入 - 访问属性前始终检查对象是否存在
各项实践的详细示例请参阅 references/best-practices.md。
验证与测试
使用 scripts/ 中的验证脚本进行部署前检查:
- scripts/validators.py - 验证电子表格操作、范围表示法和数据结构
使用 Logger.log() 进行调试,并通过 View > Logs(Cmd/Ctrl + Enter)查看输出。使用 Apps Script 编辑器中的断点进行逐步调试。
与其他技能集成
- google-ads-scripts - 将 Google Ads 数据导出到 Sheets 以生成报告
- google-tagmanager - 与 GTM 协同处理由 Apps Script 触发的跟踪事件
- google-analytics - 在 Apps Script 中查询 GA4 BigQuery 导出数据,并将结果写入 Sheets
故障排除
| 问题 | 解决方案 |
|---|---|
| 执行超时 | 将工作拆分成更小的批次,或使用多个触发器 |
| 授权错误 | 检查清单文件中的 OAuth 权限范围 |
| 超出配额 | 降低 API 调用频率,并使用缓存 |
| 空引用错误 | 访问属性前验证对象是否存在 |
参考资料
详细内容可在参考文件中按需加载:
- references/apps-script-api-reference.md - 所有内置服务、触发器、授权和性能优化的完整 API 参考
- references/examples.md - 可用于生产环境的代码示例(电子表格报告、Gmail 自动回复、文档生成、触发器设置)
- references/best-practices.md - 批量操作、缓存、错误处理、权限范围和持久化的详细最佳实践及代码块
- references/patterns.md - 常见的可复用模式(数据验证、重试逻辑、表单回复处理)
评论
支持 Markdown