Google Calendar API - 非 OAuth 身份验证

时间:2021-07-21 18:45:55

标签: authentication google-calendar-api

我正在尝试构建一个在专用服务器上运行的脚本来访问 Google Calendar API。这个脚本应该能够访问我们的帐户谷歌日历,比如用户 X,以及用户 X 可以访问的所有其他日历。我不需要通过网络浏览器运行它,然后就可以访问其他人(在我们组织之外)的日历。这需要在服务器上运行,并且只能访问我们的组织 (G Suite) 日历和我们 G-Suite 帐户中的用户。基本上我想做以下事情:

  1. 创建日历,并向其他组织 (G Suite) 成员授予访问权限
  2. 在这些日历中创建/修改活动
  3. 发送有关事件的通知

从 Google Calendar API (https://developers.google.com/calendar/api/guides/auth) 来看,似乎唯一的访问方式是通过 OAuth 身份验证,我根本不需要,因为这将通过一个专用服务器在专用服务器上运行脚本。

有没有办法做到这一点?我在 API 文档中遗漏了什么吗?我无法通过服务器进程和有效/受限 API 密钥(我已设置)访问我们自己的日历数据,这似乎很奇怪。

1 个答案:

答案 0 :(得分:1)

API 密钥只能让您访问公共数据,而不是私人用户数据。

您需要做的是设置服务帐户身份验证并让您的 Google 工作区管理员在服务帐户上设置 domain wide delegation。这将使服务帐户能够代表拥有这些日历的用户执行操作。