mcpField
G
google-apps-script

google-apps-script

github.com/henkisdabro生产力93140 次安装4 周前更新
代码仓库

关于 google-apps-script

此技能提供 Google Apps Script 的使用指南与示例,这是一种用于自动化 Google Workspace 服务的云端 JavaScript 平台。内容涵盖核心服务、触发器、验证、测试和实践建议。

主要功能

  1. 01自动化 Sheets、Docs、Gmail、Drive 和 Calendar
  2. 02运行定时及事件驱动触发器
  3. 03使用提供的检查脚本验证
  4. 04采用批处理、缓存和错误处理

适用场景

  1. 01根据电子表格数据生成报告
  2. 02自动处理邮件、文档或日历任务
  3. 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.js
trigger-setup-template.js
references/
apps-script-api-reference.md
best-practices.md
examples.md
patterns.md
scripts/
validators.py

详细介绍

Google Apps Script

概述

用于自动化 Google Workspace 服务的云端 JavaScript 平台。采用服务端 V8 运行时,并可自动集成 Sheets、Docs、Gmail、Drive、Calendar 等服务的 OAuth。

核心服务

  1. SpreadsheetApp - Google Sheets 自动化(读取、写入、格式设置、数据验证)
  2. DocumentApp - 创建和编辑 Google Docs
  3. GmailApp & MailApp - 电子邮件操作(发送、搜索、管理标签)
  4. DriveApp - 文件和文件夹管理、共享、权限设置
  5. CalendarApp - 日历事件、定期日程、提醒
  6. 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 调用频率,并使用缓存
空引用错误访问属性前验证对象是否存在

参考资料

详细内容可在参考文件中按需加载:

评论

支持 Markdown