Calendar API 提供不同类型的活动资源,如需了解详情,请参阅活动简介。
有关此类资源的方法列表,请参阅本页面的结尾部分。
资源表示法
{
  "kind": "calendar#event",
  "etag": etag,
  "id": string,
  "status": string,
  "htmlLink": string,
  "created": datetime,
  "updated": datetime,
  "summary": string,
  "description": string,
  "location": string,
  "colorId": string,
  "creator": {
    "id": string,
    "email": string,
    "displayName": string,
    "self": boolean
  },
  "organizer": {
    "id": string,
    "email": string,
    "displayName": string,
    "self": boolean
  },
  "start": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "end": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "endTimeUnspecified": boolean,
  "recurrence": [
    string
  ],
  "recurringEventId": string,
  "originalStartTime": {
    "date": date,
    "dateTime": datetime,
    "timeZone": string
  },
  "transparency": string,
  "visibility": string,
  "iCalUID": string,
  "sequence": integer,
  "attendees": [
    {
      "id": string,
      "email": string,
      "displayName": string,
      "organizer": boolean,
      "self": boolean,
      "resource": boolean,
      "optional": boolean,
      "responseStatus": string,
      "comment": string,
      "additionalGuests": integer
    }
  ],
  "attendeesOmitted": boolean,
  "extendedProperties": {
    "private": {
      (key): string
    },
    "shared": {
      (key): string
    }
  },
  "hangoutLink": string,
  "conferenceData": {
    "createRequest": {
      "requestId": string,
      "conferenceSolutionKey": {
        "type": string
      },
      "status": {
        "statusCode": string
      }
    },
    "entryPoints": [
      {
        "entryPointType": string,
        "uri": string,
        "label": string,
        "pin": string,
        "accessCode": string,
        "meetingCode": string,
        "passcode": string,
        "password": string
      }
    ],
    "conferenceSolution": {
      "key": {
        "type": string
      },
      "name": string,
      "iconUri": string
    },
    "conferenceId": string,
    "signature": string,
    "notes": string,
  },
  "gadget": {
    "type": string,
    "title": string,
    "link": string,
    "iconLink": string,
    "width": integer,
    "height": integer,
    "display": string,
    "preferences": {
      (key): string
    }
  },
  "anyoneCanAddSelf": boolean,
  "guestsCanInviteOthers": boolean,
  "guestsCanModify": boolean,
  "guestsCanSeeOtherGuests": boolean,
  "privateCopy": boolean,
  "locked": boolean,
  "reminders": {
    "useDefault": boolean,
    "overrides": [
      {
        "method": string,
        "minutes": integer
      }
    ]
  },
  "source": {
    "url": string,
    "title": string
  },
  "workingLocationProperties": {
    "type": string,
    "homeOffice": (value),
    "customLocation": {
      "label": string
    },
    "officeLocation": {
      "buildingId": string,
      "floorId": string,
      "floorSectionId": string,
      "deskId": string,
      "label": string
    }
  },
  "outOfOfficeProperties": {
    "autoDeclineMode": string,
    "declineMessage": string
  },
  "focusTimeProperties": {
    "autoDeclineMode": string,
    "declineMessage": string,
    "chatStatus": string
  },
  "attachments": [
    {
      "fileUrl": string,
      "title": string,
      "mimeType": string,
      "iconLink": string,
      "fileId": string
    }
  ],
  "birthdayProperties": {
    "contact": string,
    "type": string,
    "customTypeName": string
  },
  "eventType": string
}| 属性名称 | 值 | 说明 | 备注 | 
|---|---|---|---|
| anyoneCanAddSelf | boolean | 是否允许任何人邀请自己参加活动(已废弃)。可选。默认值为 False。 | 可写入 | 
| attachments[] | list | 活动的文件附件。 如需修改附件, 每个事件最多可以包含 25 个附件, | |
| attachments[].fileId | string | 附件的 ID。只读。 对于 Google 云端硬盘文件,这是 Drive API 中相应  | |
| attachments[].fileUrl | string | 指向附件的网址链接。 如需添加 Google 云端硬盘文件附件,请使用与 Drive API 中  添加附件时必须指定此值。 | 可写入 | 
| attachments[].iconLink | string | 指向附件图标的网址链接。只能针对自定义第三方附件修改此字段。 | |
| attachments[].mimeType | string | 附件的互联网媒体类型(MIME 类型)。 | |
| attachments[].title | string | 附件标题。 | |
| attendeesOmitted | boolean | 参加者是否可能已从活动的表示法中省略。检索事件时,这可能是因为 maxAttendee查询参数指定了限制。更新活动时,此参数可用于仅更新参与者的回复。可选。默认值为 False。 | 可写入 | 
| attendees[] | list | 活动的参加者。如需详细了解如何与其他日历用户一起安排活动,请参阅包含参加者的活动指南。服务账号需要使用全网域授权来填充参加者名单。 | 可写入 | 
| attendees[].additionalGuests | integer | 额外房客的人数。可选。默认值为 0。 | 可写入 | 
| attendees[].comment | string | 参加者对回复的评论。可选。 | 可写入 | 
| attendees[].displayName | string | 参加者的姓名(如果有)。可选。 | 可写入 | 
| attendees[].email | string | 参加者的电子邮件地址(如有)。添加参加者时,此字段必须填写。该地址必须是符合 RFC5322 的有效电子邮件地址。 添加参加者时必须提供。 | 可写入 | 
| attendees[].id | string | 参加者(如果有)的个人资料 ID。 | |
| attendees[].optional | boolean | 此人是否为可选参加者。可选。默认值为 False。 | 可写入 | 
| attendees[].organizer | boolean | 参加者是否为活动组织者。只读。默认值为 False。 | |
| attendees[].resource | boolean | 参加者是否为资源。仅当参加者首次添加到活动时才能设置。系统会忽略后续的修改。可选。默认值为 False。 | 可写入 | 
| attendees[].responseStatus | string | 参加者的回复状态。可能的值包括: 
 | 可写入 | 
| attendees[].self | boolean | 此条目是否代表显示此活动副本的日历。只读。默认值为 False。 | |
| birthdayProperties | nested object | 生日或特殊活动数据。如果 eventType设为"birthday",则此字段可用。固定不变。 | 可写入 | 
| birthdayProperties.contact | string | 此生日活动关联到的联系人的资源名称。此 ID 可用于从 People API 提取联系人详细信息。格式: "people/c12345"。只读。 | |
| birthdayProperties.customTypeName | string | 为此事件指定的自定义类型标签。如果 birthdayProperties.type设置为"custom",系统会填充此字段。只读。 | |
| birthdayProperties.type | string | 生日或特殊活动的类型。可能的值包括: 
 "birthday"的事件。事件一经创建,类型便无法更改。 | 可写入 | 
| colorId | string | 事件的颜色。这是一个 ID,它引用了颜色定义的 event部分中的条目(请参阅 颜色端点)。可选。 | 可写入 | 
| conferenceData | nested object | 与会议相关的信息,例如 Google Meet 会议的详细信息。如需创建新的会议详细信息,请使用 createRequest字段。如需保留更改,请务必为所有事件修改请求将conferenceDataVersion请求参数设置为1。 | 可写入 | 
| conferenceData.conferenceId | string | 会议 ID。 开发者可以用其跟踪会议,但不应该向用户显示。 每个会议解决方案类型的 ID 值的构成方式有所不同: 
 | |
| conferenceData.conferenceSolution | nested object | 会议解决方案,例如 Google Meet。 如果创建请求失败,则为会议取消设置此属性。 必须提供  | |
| conferenceData.conferenceSolution.iconUri | string | 此解决方案的用户可见图标。 | |
| conferenceData.conferenceSolution.key | nested object | 用于唯一标识此活动的会议解决方案的键。 | |
| conferenceData.conferenceSolution.key.type | string | 会议解决方案类型。 如果客户端遇到陌生或空类型,仍应能够显示入口点。不过,它应禁止修改。 可能的值包括: 
 | |
| conferenceData.conferenceSolution.name | string | 此解决方案的用户可见名称。未本地化。 | |
| conferenceData.createRequest | nested object | 用于生成新会议并将其附加到活动的请求。数据是异步生成的。如需查看数据是否存在,请检查 status字段。必须提供  | |
| conferenceData.createRequest.conferenceSolutionKey | nested object | 会议解决方案,例如 Hangouts 或 Google Meet。 | |
| conferenceData.createRequest.conferenceSolutionKey.type | string | 会议解决方案类型。 如果客户端遇到陌生或空类型,仍应能够显示入口点。不过,它应禁止修改。 可能的值包括: 
 | |
| conferenceData.createRequest.requestId | string | 客户端为此请求生成的唯一 ID。 客户端应针对每个新请求重新生成此 ID。如果提供的 ID 与上一个请求的 ID 相同,系统会忽略该请求。 | |
| conferenceData.createRequest.status | nested object | 会议创建请求的状态。 | |
| conferenceData.createRequest.status.statusCode | string | 会议创建请求的当前状态。只读。 可能的值包括: 
 | |
| conferenceData.entryPoints[] | list | 各个会议入口点的相关信息,例如网址或电话号码。 所有这些会议都必须属于同一会议。 必须提供  | |
| conferenceData.entryPoints[].accessCode | string | 用于加入会议的访问代码。长度不得超过 128 个字符。 创建新的会议数据时,请仅填充与会议提供商使用的术语匹配的 { 可选。 | |
| conferenceData.entryPoints[].entryPointType | string | 会议入口点的类型。 可能的值包括: 
 | |
| conferenceData.entryPoints[].label | string | URI 的标签。向最终用户显示。未本地化。长度上限为 512 个字符。 示例: 
 可选。 | |
| conferenceData.entryPoints[].meetingCode | string | 用于访问会议的会议代码。长度上限为 128 个字符。 创建新的会议数据时,请仅填充与会议提供商使用的术语匹配的 { 可选。 | |
| conferenceData.entryPoints[].passcode | string | 用于访问会议的密码。长度不得超过 128 个字符。 创建新的会议数据时,请仅填充与会议提供商使用的术语匹配的 { | |
| conferenceData.entryPoints[].password | string | 用于访问会议的密码。长度不得超过 128 个字符。 创建新的会议数据时,请仅填充与会议提供商使用的术语匹配的 { 可选。 | |
| conferenceData.entryPoints[].pin | string | 用于访问会议的 PIN 码。长度不得超过 128 个字符。 创建新的会议数据时,请仅填充与会议提供商使用的术语匹配的 { 可选。 | |
| conferenceData.entryPoints[].uri | string | 入口点的 URI。长度上限为 1300 个字符。 格式: 
 | |
| conferenceData.notes | string | 要向用户显示的其他备注(例如网域管理员的说明、法律通知)。可以包含 HTML。长度上限为 2048 个字符。可选。 | |
| conferenceData.signature | string | 会议数据的签名。 在服务器端生成。 如果创建请求失败,则为会议取消设置此属性。 对于有待处理的创建请求的会议,此字段为可选字段。 | |
| created | datetime | 事件的创建时间(采用 RFC3339 时间戳)。只读。 | |
| creator | object | 活动的创建者。只读。 | |
| creator.displayName | string | 创作者的姓名(如果有)。 | |
| creator.email | string | 创建者的电子邮件地址(如果有)。 | |
| creator.id | string | 创作者的个人资料 ID(如果有)。 | |
| creator.self | boolean | 创建者是否与显示此活动副本的日历相对应。只读。默认值为 False。 | |
| description | string | 活动的说明。可以包含 HTML。可选。 | 可写入 | 
| end | nested object | 活动的结束时间(不含)。对于周期性活动,这是第一个实例的结束时间。 | |
| end.date | date | 如果是全天活动,则为日期(格式为“yyyy-mm-dd”)。 | 可写入 | 
| end.dateTime | datetime | 时间,作为组合日期时间值(采用 RFC3339 格式)。除非在 timeZone中明确指定时区,否则必须指定时区偏移量。 | 可写入 | 
| end.timeZone | string | 时间所采用的时区。(格式为 IANA 时区数据库名称,例如“Europe/Zurich”)。对于周期性活动,此字段是必填字段,用于指定展开周期性事件时所采用的时区。对于单个事件,此字段为可选字段,用于指明事件开始/结束的自定义时区。 | 可写入 | 
| endTimeUnspecified | boolean | 结束时间是否实际上未指定。出于兼容性原因,即使此属性设为 True,系统仍会提供结束时间。默认值为 False。 | |
| etag | etag | 资源的 ETag。 | |
| eventType | string | 事件的具体类型。活动创建后,此设置将无法修改。可能的值包括: 
 | 可写入 | 
| extendedProperties | object | 事件的扩展属性。 | |
| extendedProperties.private | object | 此日历上显示的活动副本的私有属性。 | 可写入 | 
| extendedProperties.private.(key) | string | 私有属性的名称和相应的值。 | |
| extendedProperties.shared | object | 其他参加者日历中活动副本之间共享的属性。 | 可写入 | 
| extendedProperties.shared.(key) | string | 共享属性的名称和相应的值。 | |
| focusTimeProperties | nested object | 专注时间事件数据。如果 eventType设为focusTime,则使用此字段。 | 可写入 | 
| focusTimeProperties.autoDeclineMode | string | 是否拒绝与专注时间活动重叠的会议邀请。有效值包括 declineNone(表示不拒绝任何会议邀请);declineAllConflictingInvitations(表示拒绝与活动冲突的所有会议邀请);以及declineOnlyNewConflictingInvitations(表示仅拒绝在专注时间活动期间收到的新会议邀请)。 | |
| focusTimeProperties.chatStatus | string | 用于在 Chat 和相关产品中标记用户的状态。可以是 available或doNotDisturb。 | |
| focusTimeProperties.declineMessage | string | 在日历自动拒绝现有活动或新邀请时要设置的回复消息。 | |
| gadget | object | 用于扩展此事件的 gadget。小工具已弃用;此结构仅用于返回生日日历元数据。 | |
| gadget.display | string | 小工具的显示模式。已弃用。可能的值包括: 
 | 可写入 | 
| gadget.height | integer | 小工具的高度(以像素为单位)。高度必须是正整数。可选。已弃用。 | 可写入 | 
| gadget.iconLink | string | 该微件图标的网址。网址架构必须是 HTTPS。已弃用。 | 可写入 | 
| gadget.link | string | 该微件网址。网址架构必须为 HTTPS。已弃用。 | 可写入 | 
| gadget.preferences | object | 偏好设置。 | 可写入 | 
| gadget.preferences.(key) | string | 偏好设置名称和对应的值。 | |
| gadget.title | string | 微件的标题。已弃用。 | 可写入 | 
| gadget.type | string | 小工具的类型。已弃用。 | 可写入 | 
| gadget.width | integer | 小工具的宽度(以像素为单位)。宽度必须是正整数。可选。已弃用。 | 可写入 | 
| guestsCanInviteOthers | boolean | 组织者以外的参加者是否可以邀请他人参加活动。可选。默认值为 True。 | 可写入 | 
| guestsCanModify | boolean | 组织者以外的参加者是否可以修改活动。可选。默认值为 False。 | 可写入 | 
| guestsCanSeeOtherGuests | boolean | 组织者以外的参加者是否可以看到活动的参加者。可选。默认值为 True。 | 可写入 | 
| hangoutLink | string | 指向与此活动关联的 Google Hangouts 的绝对链接。只读。 | |
| htmlLink | string | 指向 Google 日历 Web 界面中此活动的绝对链接。只读。 | |
| iCalUID | string | RFC5545 中定义的事件唯一标识符。它用于在日历系统中唯一标识事件,并且在通过import方法导入事件时必须提供。 请注意, | |
| id | string | 事件的不透明标识符。创建新的单个活动或周期性活动时,您可以指定这些活动的 ID。提供的 ID 必须遵循以下规则: 
 如果您未指定 ID,服务器会自动生成 ID。 请注意, | 可写入 | 
| kind | string | 资源类型(“ calendar#event”)。 | |
| location | string | 活动的地理位置(自由格式文本)。可选。 | 可写入 | 
| locked | boolean | 这是否是一个已锁定的活动副本,其中无法更改“摘要”“说明”“地点”“开始时间”“结束时间”或“周期性”等主要活动字段。默认值为 False。只读。 | |
| organizer | object | 活动的组织者。如果组织者也是参加者,则 attendees中会有一个单独的条目,其中organizer字段设置为 True。如需更改组织者,请使用移动操作。只读(导入事件时除外)。 | 可写入 | 
| organizer.displayName | string | 组织者的姓名(如果有)。 | 可写入 | 
| organizer.email | string | 组织者的电子邮件地址(如果有)。该地址必须是符合 RFC5322 的有效电子邮件地址。 | 可写入 | 
| organizer.id | string | 组织者的个人资料 ID(如果有)。 | |
| organizer.self | boolean | 组织者是否与显示此活动副本的日历相对应。只读。默认值为 False。 | |
| originalStartTime | nested object | 对于周期性事件的实例,这是该事件根据由 recurringEventId 标识的周期性事件中的重复数据的开始时间。它用于唯一标识重复事件系列中的实例,即使实例已移至其他时间也是如此。固定不变。 | |
| originalStartTime.date | date | 如果是全天活动,则为日期(格式为“yyyy-mm-dd”)。 | 可写入 | 
| originalStartTime.dateTime | datetime | 时间,作为组合日期时间值(采用 RFC3339 格式)。除非在 timeZone中明确指定时区,否则必须指定时区偏移量。 | 可写入 | 
| originalStartTime.timeZone | string | 时间所采用的时区。(格式为 IANA 时区数据库名称,例如“Europe/Zurich”)。对于周期性活动,此字段是必填字段,用于指定展开周期性事件时所采用的时区。对于单个事件,此字段为可选字段,用于指明事件开始/结束的自定义时区。 | 可写入 | 
| outOfOfficeProperties | nested object | 不在办公室活动数据。如果 eventType设为outOfOffice,则使用此字段。 | 可写入 | 
| outOfOfficeProperties.autoDeclineMode | string | 是否拒绝与“不在办公室”活动重叠的会议邀请。有效值包括 declineNone(表示不拒绝任何会议邀请);declineAllConflictingInvitations(表示拒绝与活动冲突的所有会议邀请);以及declineOnlyNewConflictingInvitations(表示仅拒绝在外出办公活动期间收到的新会议邀请)。 | |
| outOfOfficeProperties.declineMessage | string | 在日历自动拒绝现有活动或新邀请时要设置的回复消息。 | |
| privateCopy | boolean | 如果设置为 True,系统会停用事件传播。请注意,这与不公开的事件属性不同。可选。不可变。默认值为 False。 | |
| recurrence[] | list | 如 RFC5545 中所指定,重复性事件的 RRULE、EXRULE、RDATE 和 EXDATE 行列表。请注意,此字段不允许使用 DTSTART 和 DTEND 行;事件的开始时间和结束时间应在 start和end字段中指定。对于单一活动或周期性活动,此字段会被忽略。 | 可写入 | 
| recurringEventId | string | 对于周期性活动的实例,这是此实例所属周期性活动的 id。固定不变。 | |
| reminders | object | 已通过身份验证的用户的活动提醒的相关信息。请注意,更改提醒不会同时更改所属活动的 updated属性。 | |
| reminders.overrides[] | list | 如果活动不使用默认提醒,此字段会列出特定于该活动的提醒;如果未设置,则表示未为此活动设置任何提醒。替换提醒的数量上限为 5 个。 | 可写入 | 
| reminders.overrides[].method | string | 此提醒所使用的提醒方法。可能的值包括: 
 添加提醒时必填。 | 可写入 | 
| reminders.overrides[].minutes | integer | 应在活动开始前多少分钟触发提醒。有效值介于 0 到 40320(4 周,以分钟为单位)之间。 添加提醒时必填。 | 可写入 | 
| reminders.useDefault | boolean | 日历的默认提醒是否适用于活动。 | 可写入 | 
| sequence | integer | 序列号(根据 iCalendar)。 | 可写入 | 
| source | object | 事件的创建来源。例如,网页、电子邮件或可通过采用 HTTP 或 HTTPS 架构的网址识别的任何文档。只有活动创建者才能查看或修改。 | |
| source.title | string | 来源的标题;例如网页标题或电子邮件主题。 | 可写入 | 
| source.url | string | 指向资源的来源的网址。网址架构必须为 HTTP 或 HTTPS。 | 可写入 | 
| start | nested object | 事件的开始时间(含边界值)。对于周期性活动,这是第一个实例的开始时间。 | |
| start.date | date | 如果是全天活动,则为日期(格式为“yyyy-mm-dd”)。 | 可写入 | 
| start.dateTime | datetime | 时间,作为组合日期时间值(采用 RFC3339 格式)。除非在 timeZone中明确指定时区,否则必须指定时区偏移量。 | 可写入 | 
| start.timeZone | string | 时间所采用的时区。(格式为 IANA 时区数据库名称,例如“Europe/Zurich”)。对于周期性活动,此字段是必填字段,用于指定展开周期性事件时所采用的时区。对于单个事件,此字段为可选字段,用于指明事件开始/结束的自定义时区。 | 可写入 | 
| status | string | 事件的状态。可选。可能的值包括: 
 | 可写入 | 
| summary | string | 活动的标题。 | 可写入 | 
| transparency | string | 活动是否会占用日历上的时间。可选。可能的值包括: 
 | 可写入 | 
| updated | datetime | 主要事件数据的上次修改时间(以 RFC3339 时间戳表示)。更新活动提醒不会导致这一点发生变化。只读。 | |
| visibility | string | 活动的公开范围。可选。可能的值包括: 
 | 可写入 | 
| workingLocationProperties | nested object | 工作位置事件数据。 | 可写入 | 
| workingLocationProperties.customLocation | object | 如果存在,则表示用户是在自定义位置工作。 | 可写入 | 
| workingLocationProperties.customLocation.label | string | 用于提供其他信息的可选额外标签。 | 可写入 | 
| workingLocationProperties.homeOffice | any value | 如果存在,则表示用户在家工作。 | 可写入 | 
| workingLocationProperties.officeLocation | object | 如果存在,则指定用户是在办公室工作的。 | 可写入 | 
| workingLocationProperties.officeLocation.buildingId | string | 可选的建筑物标识符。此 ID 应引用组织的“资源”数据库中的建筑物 ID。 | 可写入 | 
| workingLocationProperties.officeLocation.deskId | string | 可选的服务台标识符。 | 可写入 | 
| workingLocationProperties.officeLocation.floorId | string | 可选的楼层标识符。 | 可写入 | 
| workingLocationProperties.officeLocation.floorSectionId | string | 可选的楼层分区标识符。 | 可写入 | 
| workingLocationProperties.officeLocation.label | string | 在 Google 日历网页版和移动版客户端中显示的办公室名称。我们建议您在组织的“资源”数据库中引用建筑物名称。 | 可写入 | 
| workingLocationProperties.type | string | 工作地点的类型。可能的值包括: 
 添加工作地点属性时必填。 | 可写入 | 
方法
- delete
- 删除事件。
- get
- 根据活动的 Google 日历 ID 返回活动。如需使用 iCalendar ID 检索活动,请使用 iCalUID参数调用 events.list 方法。
- import
- 导入事件。此操作用于将现有活动的私人副本添加到日历中。只能导入 eventType为default的事件。已弃用的行为:如果导入了非 default事件,其类型将更改为default,并且该事件类型可能具有的任何特定于事件类型的属性都将被丢弃。
- insert
- 创建事件。
- 实例
- 返回指定周期性活动的实例。
- list
- 返回指定日历上的活动。
- move
- 将活动移至其他日历,即更改活动的组织者。请注意,只有 default事件可以移动;birthday、focusTime、fromGmail、outOfOffice和workingLocation事件无法移动。
- patch
- 更新活动。此方法支持修补语义。请注意,每个补丁请求消耗三个配额单元;最好先使用 get,后跟update。您指定的字段值会替换现有值。您在请求中未指定的字段将保持不变。数组字段(如果指定)会覆盖现有数组;这会舍弃之前的所有数组元素。
- quickAdd
- 根据简单的文本字符串创建事件。
- update
- 更新活动。此方法不支持补丁语义,并且始终会更新整个活动资源。如需进行部分更新,请使用 etag 依次执行 get和update,以确保原子性。
- watch
- 监控 Events 资源的更改。