列出共享到服务帐户的所有日历

List all calendars shared to a Service Account

我正在开发一个 android 应用程序,它需要从服务帐户搜索不同日历中的事件。 日历已与服务帐户共享,我可以使用“Calendar.get (" calendar.id) ”访问每个日历,但我希望能够列出与该帐户共享的所有日历而不需要想知道每个人的具体ID。

调查我发现默认情况下,共享到服务帐户的日历不会直接添加到 Calendarlist,因此“Calendarlist.list ()”returns 一个空对象“[]”。

有什么方法可以列出所有共享日历吗?

如果您想列出已与服务帐户共享的日历(通过 CalendarList: list), you should first insert the corresponding calendars individually via CalendarList: insert

当然,这需要了解每个日历的 id。别无他法。

如果您的应用程序工作流程允许,我建议调用 CalendarList: insert 作为每个日历共享过程的一部分。

备选方案:全域授权:

此外,如果使用服务帐户的目的是避免用户交互,您可以授予它 domain-wide authority 并使用它来模拟普通帐户(日历将与之共享的帐户) .这样,日历将被添加到 CalendarList 而无需调用 CalendarList: insert.

相关回答: