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 |
活动的颜色。这是指颜色定义 event 部分中的一个条目的 ID(请参阅 颜色端点)。可选。 |
可写入 |
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 |
会议解决方案,例如环聊或 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。长度上限为 1,300 个字符。 格式:
|
|
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 |
微件的高度(以像素为单位)。高度必须是大于 0 的整数。可选。已弃用。 | 可写入 |
gadget.iconLink |
string |
微件的图标网址。网址方案必须为 HTTPS。已弃用。 | 可写入 |
gadget.link |
string |
相应信息流的网址。网址方案必须为 HTTPS。已弃用。 | 可写入 |
gadget.preferences |
object |
偏好设置。 | 可写入 |
gadget.preferences.(key) |
string |
偏好设置名称和相应的值。 | |
gadget.title |
string |
小工具的标题。已弃用。 | 可写入 |
gadget.type |
string |
相应设备的类型。已弃用。 | 可写入 |
gadget.width |
integer |
相应信息中心的宽度(以像素为单位)。宽度必须是大于 0 的整数。可选。已弃用。 | 可写入 |
guestsCanInviteOthers |
boolean |
除组织者之外的参会者是否可以邀请他人参加活动。可选。默认值为 True。 | 可写入 |
guestsCanModify |
boolean |
除组织者之外的参与者是否可以修改活动。可选。默认值为 False。 | 可写入 |
guestsCanSeeOtherGuests |
boolean |
指定除组织者之外的参会者能否查看活动的参会者。可选。默认值为 True。 | 可写入 |
hangoutLink |
string |
与此活动关联的 Google Hangout 的绝对链接。只读。 | |
htmlLink |
string |
Google 日历 Web 界面中相应活动的绝对链接。只读。 | |
iCalUID |
string |
RFC5545 中定义的活动唯一标识符。它用于在各个日历系统中唯一标识活动,并且必须在通过 import 方法导入活动时提供。 请注意, |
|
id |
string |
相应事件的不透明标识符。创建新的单次活动或周期性活动时,您可以指定其 ID。提供的 ID 必须遵循以下规则:
如果您未指定 ID,服务器会自动生成一个 ID。 请注意, |
可写入 |
kind |
string |
资源的类型 (“calendar#event”)。 |
|
location |
string |
活动的地理位置(自由格式文本)。可选。 | 可写入 |
locked |
boolean |
相应活动是否为锁定活动副本,即无法对主活动字段“summary”“description”“location”“start”“end”或“recurrence”进行更改。默认值为 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 |
重复性活动的 RRULE、EXRULE、RDATE 和 EXDATE 行的列表,如 RFC5545 中所指定。请注意,此字段中不允许使用 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
- 更新活动。此方法支持 patch 语义。请注意,每个 patch 请求会消耗 3 个配额单位;建议使用
get,然后使用update。您指定的字段值会替换现有值。您未在请求中指定的字段将保持不变。如果指定了数组字段,则会覆盖现有数组;这会舍弃任何之前的数组元素。 - quickAdd
- 根据简单的文本字符串创建事件。
- update
- 更新活动。此方法不支持修补语义,并且始终会更新整个活动资源。如需执行部分更新,请先执行
get,然后执行update,并使用 ETag 来确保原子性。 - 手表
- 监视对 Events 资源的更改。