如何在现有Google Apps Script代码中添加自动发送日历邀请功能?
解决方案
首先修正你原代码中的语法错误(大小写、拼写问题),再通过以下步骤实现自动发送日历邀请:
1. 表格准备
在你的Google表格中新增一列(比如第4列),用来填写需要发送邀请的参会人邮箱(支持单个邮箱,或用逗号分隔多个邮箱)。
2. 整合后的完整代码
function createCalendarEvents(){ const agendaCalendar = CalendarApp.getCalendarById("calendarid"); // 替换为你的实际日历ID const sheet = SpreadsheetApp.getActiveSheet(); const schedule = sheet.getDataRange().getValues(); // 若表格第一行是表头(如“标题”“开始时间”等),用这行跳过表头;无表头则删除此行 schedule.shift(); schedule.forEach(function(entry) { // entry[0] = 事件标题, entry[1] = 开始时间, entry[2] = 结束时间, entry[3] = 参会人邮箱 const event = agendaCalendar.createEvent(entry[0], entry[1], entry[2]); // 拆分并添加参会人,自动发送邀请 const guests = entry[3].split(",").map(email => email.trim()); guests.forEach(email => { if(email) { // 跳过空值,避免无效操作 event.addGuest(email); } }); }); }
关键说明
- 语法修正:原代码中
Function需改为小写function,Let改为const/let,getavalues改为getValues,firEach改为forEach,getCalendarByID改为getCalendarById,这些是代码正常运行的基础。 - 参会人处理:通过
entry[3]读取表格中的邮箱列,用split(",")拆分多个邮箱,trim()去除空格避免格式错误。 - 邀请发送:调用
event.addGuest(email)时,Google日历会自动向参会人发送邀请邮件(前提是你的日历设置允许发送外部邀请,且邮箱格式正确)。
注意事项
- 确保你的Google账号有权限操作目标日历,且日历允许向外部邮箱发送邀请。
- 表格中的时间列需设置为日期时间格式,否则代码无法识别为有效时间对象。
- 测试时建议先使用一行测试数据,确认邀请正常发送后再批量处理。
内容的提问来源于stack exchange,提问作者Bieh Bieh
相关产品推荐
相关产品推荐

