You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Apps Script日历事件问题:无法发邀请及标记为参与

解决Google日历重复事件邀请的两个问题:自动接受邀请+确保发送邮件

问题核心原因

  1. 邀请邮件未发送:guests参数使用日历ID虽可能有效,但直接使用邮箱地址更符合API要求;同一账号内的日历邀请默认不触发邮件通知,外部嘉宾需确保参数配置正确。
  2. 无法立即接受邀请:跨日历事件存在同步延迟,CalendarApp原生方法无法即时获取主日历中的事件,导致无法手动标记参与状态。

解决方案

1. 确保邀请邮件正常发送

将guests参数中的日历ID替换为对应邮箱地址(默认日历ID通常就是邮箱,直接使用即可),同时保留sendInvites: true参数。外部嘉宾会正常收到邮件;若需强制给自己发送同一账号内的日历邀请邮件,需通过Calendar高级服务配置sendUpdates参数。

2. 自动标记主日历事件为已参与

启用Google Calendar Advanced Service(脚本编辑器路径:资源 → 高级Google服务 → 开启Calendar API),利用事件的iCalUID跨日历匹配事件,直接更新自身响应状态,无需等待同步延迟。

修改后的代码示例

function doIt() {
  var CALENDAR_HOME = CalendarApp.getDefaultCalendar();
  var CALENDAR_TEST = CalendarApp.getOwnedCalendarsByName("test")[0];
  var homeEmail = CALENDAR_HOME.getId();
  var guestEmail = "anotherUser@gmail.com";

  var startTime = new Date();
  var endTime = new Date();
  endTime.setTime(startTime.getTime() + (1 * 60 * 60 * 1000));

  // 在测试日历创建重复事件并邀请嘉宾
  var newEventSeries = CALENDAR_TEST.createEventSeries(
    "this is a test for creating events",
    startTime,
    endTime,
    CalendarApp.newRecurrence().addDailyRule(),
    {
      "guests": `${homeEmail}, ${guestEmail}`,
      "sendInvites": true,
      "location": "here"
    }
  );

  // 通过iCalUID匹配主日历中的对应事件
  var eventICalUID = newEventSeries.getICalUID();
  var response = Calendar.Events.list(homeEmail, {
    iCalUID: eventICalUID,
    singleEvents: false
  });

  if (response.items.length > 0) {
    var homeEvent = response.items[0];
    // 将自己的响应状态更新为已接受
    homeEvent.attendees.forEach(attendee => {
      if (attendee.email === homeEmail) {
        attendee.responseStatus = "accepted";
      }
    });
    // 提交更新
    Calendar.Events.update(homeEvent, homeEmail, homeEvent.id);
    Logger.log("主日历事件已自动标记为已参与");
  } else {
    Logger.log("暂未找到主日历中的事件,可适当增加延迟后重试");
  }
}

补充说明

  • iCalUID是跨日历识别同一事件的唯一标识,比事件ID更可靠,因为同一事件在不同日历中的ID会不同。
  • 若不想启用高级服务,可添加Utilities.sleep(5000)(延迟5秒)后再用CalendarApp查找事件,但这种方式依赖同步速度,稳定性不如高级服务。

内容的提问来源于stack exchange,提问作者IMTheNachoMan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:25:06