我需要编写一个nodejs应用程序,负责将事件添加到gsuite用户谷歌日历,并满足以下要求:
我最初的想法是使用谷歌日历 API events.insert 将事件添加到用户日历中,并将 sendUpdates 参数设置为
all
,期望它向用户发送电子邮件通知,通知他们活动已添加到他们的日历中。
但是,当在 API explorer 中使用我的 Gmail 进行测试时,事件已成功创建,但没有发送电子邮件。我将
calendarId
设置为 primary
,将 sendUpdates
设置为 all
,输入 start
和 end
将来的时间,将我的 gmail 添加为 attendee
,单击“执行”,登录到 API资源管理器,请求成功,在我的日历中创建了事件,但没有电子邮件。
如果我添加与帐户所有者不同的另一个电子邮件地址作为
attendee
,则会向他们发送一封电子邮件,但不会向日历所有者(我)发送电子邮件。我需要向日历所有者发送一封电子邮件。
在生产中,我计划使用在 gsuite 中具有委派权限的服务帐户来模拟用户,并且我使用服务帐户测试了这个概念,并得到了与上述相同的结果。
使用日历 API 可以吗?
有一个技巧。让我们假设事件创建者帐户是
[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