在 Google 日历 API 中发现 CalendarID

Discovering CalendarID's in Google Calendar API

我目前正在处理一个项目,我必须将内部日历与属于某个域并与该域共享的所有 google 日历同步。

我们有一种服务用户,如果我以该服务用户的身份登录到 google 日历网络应用程序,我可以搜索与我们公司域共享的所有员工的日历并添加他们。

这里的问题是,即使用户与域共享他们的日历,我也无法通过 API 搜索该日历并将其添加到我感兴趣的日历列表中。

该用户的日历显示在服务用户的日历列表中的唯一方法是从我们从中获取事件的用户那里获取日历 ID(从用户手动获取,或登录代表用户并获取它)或登录到网络应用程序中的服务用户,然后手动添加该日历。

我在下面附上了一张图片,显示了我所缺少的内容。我似乎无法在任何地方找到与来自 API 的给定用户共享的日历列表。 查看这些日历的唯一方法是从 Web 客户端手动添加该日历。我希望通过 API.

获得一些帮助来弄清楚如何做到这一点

无法发现日历 ID。

如果您使用服务帐户并且用户与服务器帐户共享他们的日历。您仍然必须自己将其添加到服务帐户 calendar.list(使用服务帐户),它无法找到它有权访问的日历。必须告知它可以访问此日历。

在 google 日历的网络版中,如果我与其他人共享日历,它将在他们的 calendar.list 中得到支持,成为它是在用户接受时由网络版日历添加的股份。服务帐户无法接受共享,因此从未添加。