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 |
此生日活动关联到的联系人的资源名称。这可用于从 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.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 日历网页界面中指向此活动的绝对链接。只读。 | |
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 |
对于周期性活动的实例,根据由重复事件 ID 标识的周期性活动中的重复周期数据,此活动开始的时间。它用于唯一标识重复事件系列中的实例,即使实例已移至其他时间也是如此。固定不变。 | |
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 |
用于设置 Google 日历是否自动拒绝现有活动或新邀请的回复消息。 | |
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。 | 可写入 |
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
,以确保原子性。 - 手表
- 监控 Events 资源的更改。