Calendars

包含所有现有日历的集合。另请参阅日历与日历列表。

有关此类资源的方法列表,请参阅本页面的结尾部分。

资源表示法

{
  "kind": "calendar#calendar",
  "etag": etag,
  "id": string,
  "summary": string,
  "description": string,
  "location": string,
  "timeZone": string,
  "dataOwner": string,
  "conferenceProperties": {
    "allowedConferenceSolutionTypes": [
      string
    ]
  },
  "labelProperties": {
    "eventLabels": [
      {
        "id": string,
        "backgroundColor": string,
        "name": string
      }
    ]
  },
  "autoAcceptInvitations": boolean,
  "workingHours": {
    "workingHoursEnabled": boolean,
    "availableTimes": [
      {
        "dayOfWeek": string,
        "periodStart": integer,
        "periodEnd": integer
      }
    ]
  }
}
属性名称 值 说明 备注
autoAcceptInvitations boolean 此日历是否会自动接受邀请。仅对资源日历有效。
conferenceProperties nested object 该日历的会议属性,例如允许的会议类型。
conferenceProperties.allowedConferenceSolutionTypes[] list 该日历支持的会议解决方案类型。

可能的值包括:

  • "eventHangout"
  • "eventNamedHangout"
  • "hangoutsMeet"
可选。

dataOwner string 日历所有者的邮箱。仅为辅助日历设置。只读。
description string 日历的说明。可选。 可写入
etag etag 资源的 ETag。
id string 日历的标识符。如需检索 ID,请调用 calendarList.list() 方法。
kind string 资源的类型 (“calendar#calendar”)。
labelProperties nested object 此日历上定义的标签属性。如果指定,则会覆盖现有标签属性。如果未指定,标签属性将保持不变。 可写入
labelProperties.eventLabels[] list 此日历上定义的活动标签。如果在更新日历时存在此字段,它将替换现有的活动标签。

扩展列表可添加新的活动标签,从列表中移除实体可从日历中删除标签。

每个日历最多可以有 200 个标签。

可写入
labelProperties.eventLabels[].backgroundColor string 标签的背景颜色(采用十六进制格式),例如 "#039be5"。带有此标签的活动会以这种颜色显示。必填。 可写入
labelProperties.eventLabels[].id string 标签的 ID。插入新标签时,此字段为可选字段。如果未提供,系统将自动生成唯一 ID。更新标签时必须提供。

如果提供,该 ID 在日历中必须是唯一的,并且遵循 UUID 格式。

可写入
labelProperties.eventLabels[].name string 标签的名称。可选。

如果提供,则不得超过 50 个字符。

可写入
location string 日历的地理位置(自由格式文本)。可选。 可写入
summary string 日历的标题。 可写入
timeZone string 日历的时区。(格式采用 IANA 时区数据库名称,例如“Europe/Zurich”。)可选。 可写入
workingHours object 表示用户工作时间的相关信息。仅适用于 Google Workspace 用户的主日历。如需更新工作时间,必须传递整个工作时间对象。如果未指定(或作为 null 或空对象传递),则现有工作时间保持不变。如需停用工作时间或清除时间表,请将 workingHoursEnabled 设置为 false(并省略 availableTimes 或传递空列表)。 可写入
workingHours.availableTimes[] list 工作时间。每个空闲时间段都代表用户在一天中的工作时间段。 可写入
workingHours.availableTimes[].dayOfWeek string 星期几。必需。可能的值包括:
  • “monday”
  • “tuesday”
  • “wednesday”
  • “thursday”
  • “friday”
  • “saturday”
  • “sunday”
可写入
workingHours.availableTimes[].periodEnd integer 时段结束时间,以从当天开始算起的分钟数表示(不含)。必填。 可写入
workingHours.availableTimes[].periodStart integer 时段开始时间,以从当天开始算起的分钟数表示(含)。必填。 可写入
workingHours.workingHoursEnabled boolean 是否为此日历启用了工作时间。当 availableTimes 为空时,无法设置为 true。 可写入

方法

clear
清除主日历。此操作会删除与账号主日历关联的所有活动。
delete
删除辅助日历。使用 calendars.clear 可清除主日历中的所有活动。
get
返回日历的元数据。
insert
创建辅助日历。

发出请求的经过身份验证的用户将成为新日历的数据所有者。

patch
更新日历的元数据。此方法支持 patch 语义。请注意,每个 patch 请求会消耗 3 个配额单位;建议使用 get,然后使用 update。您指定的字段值会替换现有值。您未在请求中指定的字段将保持不变。如果指定了数组字段,则会覆盖现有数组;这会舍弃任何之前的数组元素。
transferOwnership
在 Google Workspace 组织内的用户之间转移辅助日历。需要通过管理日历管理员权限进行用户身份验证,并具有以下授权范围之一:
  • https://www.googleapis.com/auth/calendar
  • https://www.googleapis.com/auth/calendar.calendars
在请求中,将 useAdminAccess 设置为 true。辅助日历必须处于有效状态才能转移。不支持转移已停用或已删除的日历。
update
更新日历的元数据。