相关疑难解决方法(0)

在 CalendarEvent 上调用 addGuest 时如何发送标准邀请电子邮件?

每当我通过 Google 日历 UI 添加访客时,都会弹出以下对话框:

在此处输入图片说明

如果我选择“发送”,它会向用户发送一封格式良好的电子邮件,并提供响应日历事件的选项:

在此处输入图片说明

当您手动使用 Google 日历 UI 时,这可以完美运行。问题是我正在尝试使用 Google Apps 脚本来自动将人员添加到事件中。

我正在使用addGuest()以编程方式将客人添加到 CalendarEvent :

event.addGuest("user@example.com");
Run Code Online (Sandbox Code Playgroud)

但是,似乎没有发送电子邮件的选项。

我能找到的最接近的是,当您以编程方式创建事件时,您可以设置sendInvites

  var event = CalendarApp.getDefaultCalendar().createEvent(
    'Test',
    new Date('April 5, 2029 20:00:00 UTC'),
    new Date('April 5, 2029 21:00:00 UTC'),
    {sendInvites: true, guests:"your.email+1@example.com"});
  Logger.log(event.getId());
Run Code Online (Sandbox Code Playgroud)

这将正确发送格式良好的电子邮件。

但是,该sendInvites选项仅在新创建事件时有效。如果以后我打电话:

  var event = CalendarApp.getEventById("insert_id_here");
  event.addGuest("your.email+2@example.com");
Run Code Online (Sandbox Code Playgroud)

...它不会发送电子邮件更新(即使该事件是使用 创建的sendInvites=true)。这意味着sendInvites是暂时的,不会在事件上持续存在。

sendInvites调用addGuest()事件时有什么办法吗?例如event.addGuest("user@example.com", {sendInvite: true})

是否有任何其他解决方法会产生与点击上面 UI 中的“发送”按钮时发送的电子邮件相同的电子邮件?

注:我希望使用MailApp,因为它不会被很好地格式化像一个谷歌发送电子邮件自动发送出去(例如,具有嵌入式日历邀请,出席者,描述,响应链接等,等,等)。


更新:

  • 我刚刚在 API 中看到 …

google-calendar-api google-apps-script

3
推荐指数
1
解决办法
2613
查看次数