我试图添加一个新日历,花了很长时间才发现我必须将其添加到"日历"中,而不是"日历列表"中。它现在起作用了,这很好,但我认为这两个概念之间有什么区别?我好像只需要日历?此外,CalendarList似乎不起作用,尝试插入日历时返回404错误。
Calendars是世界上所有日历的集合(它没有列表方法)。创建新日历时,应调用日历集合上的insert。如果您想要特定于日历的数据(如时区、名称),则应使用get从日历集合中检索日历。
CalendarLists是用户添加到其列表中的所有日历条目的集合(在web UI中,它是左侧面板中的日历列表)。您无法通过日历列表集合创建新日历,但可以将现有日历添加到用户日历列表中。例如,每个用户可以为同一日历使用不同的颜色,并且此详细信息将存储在日历列表条目中。
有时令人困惑的是,当您通过日历集合创建新日历时,它会自动添加到您的列表中。
让我给你举一个日历和日历列表如何工作的例子。想象一下,你的朋友为你们一起旅行创建了一个日历。他通过调用Calendars.insert()来实现这一点。现在,他公开了日历(通过ACL集合),并向您和所有朋友发送了一封关于该日历的电子邮件。您可以进入CalendarLists集合并在那里执行insert()调用,将其添加到日历列表中并使其变为蓝色。
日历:
Calendars集合表示所有现有日历。可以是用于创建和删除日历。您也可以检索或设置具有日历访问权限的所有用户共享的全局属性。例如,日历的标题和默认时区是全局的属性。
日历列表:
CalendarList是用户已添加到他们的列表中(显示在web UI的左侧面板中)。你可以使用它向用户的列表您还可以使用它来检索和设置特定于用户的值日历属性,例如默认提醒。另一个例子是前景色,因为不同的用户可以设置不同的颜色对于同一日历。
这里是比较表:https://developers.google.com/google-apps/calendar/concepts/events-calendars