如何在Google日历事件修改触发的Apps Script中获取事件ID写入表格
解决方案
修改前置操作
- 打开Google Apps Script编辑器,点击左侧「服务」栏旁的加号
- 在弹出的服务列表中找到「Google Calendar API」,选中后点击添加完成启用
调整后代码
function recordModification(e) { const calendarId = e.calendarId; let lastModifiedEventId = "未获取到有效事件ID"; try { // 从触发事件的iCalUid精准查询被修改的事件 const matchedEvents = Calendar.Events.list(calendarId, { iCalUID: e.iCalUid, showDeleted: true, maxResults: 1 }); if (matchedEvents.items.length > 0) { lastModifiedEventId = matchedEvents.items[0].id; } } catch (error) { lastModifiedEventId = `获取失败: ${error.message}`; } const sheet = SpreadsheetApp.getActiveSheet(); const now = new Date(); sheet.appendRow([now, lastModifiedEventId]); }
注意事项
请确认你创建的是可安装日历触发器,触发事件选择「事件更新」,且绑定执行函数为
recordModification,否则触发器无法正确传入事件信息,会导致参数获取失败。
内容的提问来源于stack exchange,提问作者Arnaud deb
相关产品推荐
相关产品推荐

