Google 日历让日历所有者收到新活动的电子邮件通知

问题描述 投票:0回答:1

我需要编写一个nodejs应用程序,负责将事件添加到gsuite用户谷歌日历,并满足以下要求:

  • 应将新事件添加到用户的 Google 日历中
  • 用户应该拥有活动的所有权并能够重新安排/删除它
  • 创建后,用户应立即在收件箱中收到日历活动的电子邮件邀请/通知

我最初的想法是使用谷歌日历 API events.insert 将事件添加到用户日历中,并将 sendUpdates 参数设置为

all
,期望它向用户发送电子邮件通知,通知他们活动已添加到他们的日历中。

但是,当在 API explorer 中使用我的 Gmail 进行测试时,事件已成功创建,但没有发送电子邮件。我将

calendarId
设置为
primary
,将
sendUpdates
设置为
all
,输入
start
end
将来的时间,将我的 gmail 添加为
attendee
,单击“执行”,登录到 API资源管理器,请求成功,在我的日历中创建了事件,但没有电子邮件。

如果我添加与帐户所有者不同的另一个电子邮件地址作为

attendee
,则会向他们发送一封电子邮件,但不会向日历所有者(我)发送电子邮件。我需要向日历所有者发送一封电子邮件。

在生产中,我计划使用在 gsuite 中具有委派权限的服务帐户来模拟用户,并且我使用服务帐户测试了这个概念,并得到了与上述相同的结果。

使用日历 API 可以吗?

calendar google-calendar-api google-workspace google-api-nodejs-client
1个回答
0
投票

有一个技巧。让我们假设事件创建者帐户是

[email protected]
。如果您将其按原样放入 at
attendees
列表中,e。 g.

  "attendees": [
    {
      "email": "[email protected]"
    }
  ]

它不会起作用。我使用 gmail 技巧解决了这个问题:按照下面的示例修改事件创建者帐户:

  "attendees": [
    {
      "email": "[email protected]"
    }
  ]

Gmail 识别

[email protected]
==
[email protected]
。但对于 Google Calendar API,电子邮件是不同的。这样,活动创建者将收到标准通知电子邮件。另外,别忘了加上
sendUpdates=all

© www.soinside.com 2019 - 2024. All rights reserved.