请求
HTTP 请求
GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId/instances
参数
参数名称 | 值 | 说明 |
---|---|---|
路径参数 | ||
calendarId |
string |
日历标识符。要检索日历 ID,请调用 calendarList.list 方法。如果您想访问当前登录的用户的主日历,请使用关键字“primary ”。
|
eventId |
string |
周期性活动标识符。 |
可选的查询参数 | ||
alwaysIncludeEmail |
boolean |
已弃用并忽略。即使没有真实的电子邮件地址可供使用,系统也会始终在组织者、创作者和参加者的 email 字段中返回一个值(即,将提供一个生成的非工作值)。
|
maxAttendees |
integer |
回复中可包含的参加者人数上限。如果参加者人数超过指定数量,则仅返回参与者。可选。 |
maxResults |
integer |
一个结果页上返回的事件数上限。默认情况下,该值为 250 个事件。页面大小不得超过 2500 个事件。可选。 |
originalStart |
string |
结果中实例的原始开始时间。可选。 |
pageToken |
string |
用于指定要返回哪个结果页面的令牌。可选。 |
showDeleted |
boolean |
结果中是否包含已删除的事件(status 等于“cancelled ”)。如果 singleEvents 为 False,则已取消的周期性活动实例仍会包含在内。可选。默认值为 False。
|
timeMax |
datetime |
要作为过滤依据的事件开始时间上限(不含边界值)。可选。默认不按开始时间过滤。必须是具有强制性时区偏移量的 RFC3339 时间戳。 |
timeMin |
datetime |
要作为过滤依据的事件结束时间的下限(含此下限)。可选。默认为不按结束时间过滤。必须是具有强制性时区偏移量的 RFC3339 时间戳。 |
timeZone |
string |
响应中使用的时区。可选。默认时区为日历的时区。 |
授权
此请求允许使用以下至少一个范围的授权:
范围 |
---|
https://www.googleapis.com/auth/calendar.readonly |
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events.readonly |
https://www.googleapis.com/auth/calendar.events |
如需了解详情,请参阅身份验证和授权页面。
请求正文
使用此方法时请勿提供请求正文。
响应
如果成功,此方法将返回采用以下结构的响应正文:
{ "kind": "calendar#events", "etag": etag, "summary": string, "description": string, "updated": datetime, "timeZone": string, "accessRole": string, "defaultReminders": [ { "method": string, "minutes": integer } ], "nextPageToken": string, "nextSyncToken": string, "items": [ events Resource ] }
属性名称 | 值 | 说明 | 备注 |
---|---|---|---|
kind |
string |
集合的类型(“calendar#events ”)。 |
|
etag |
etag |
集合的 ETag。 | |
summary |
string |
日历的标题。只读。 | |
description |
string |
日历说明。只读。 | |
updated |
datetime |
日历的上次修改时间(以 RFC3339 时间戳表示)。只读。 | |
timeZone |
string |
日历的时区。只读。 | |
accessRole |
string |
用户对此日历的访问角色。只读。可能的值包括:
|
|
defaultReminders[] |
list |
日历中针对经过身份验证的用户的默认提醒。这些提醒适用于此日历中所有不会明确替换这些活动(即没有将 reminders.useDefault 设置为 True)的活动。 |
|
defaultReminders[].method |
string |
此提醒使用的方法。可能的值包括:
添加提醒时必填。 |
可写 |
defaultReminders[].minutes |
integer |
活动开始前多少分钟,提醒应触发。有效值介于 0 到 40320 之间(4 周以分钟为单位)。 添加提醒时必填。 |
可写 |
nextPageToken |
string |
用于访问此结果下一页的令牌。如果没有进一步的结果,系统会省略该值。在这种情况下,系统会提供 nextSyncToken 。 |
|
items[] |
list |
日历上的活动列表。 | |
nextSyncToken |
string |
稍后使用的令牌,用于仅检索自返回此结果后发生更改的条目。如果还有更多结果,系统会省略该值。在这种情况下,系统会提供 nextPageToken 。 |
示例
注意:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。
Java
使用 Java 客户端库。
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.Event; import com.google.api.services.calendar.model.Events; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Iterate over the instances of a specific recurring event String pageToken = null; do { Events events = service.events().instances('primary', 'eventId').setPageToken(pageToken).execute(); List<Event> items = events.getItems(); for (Event event : items) { System.out.println(event.getSummary()); } pageToken = events.getNextPageToken(); } while (pageToken != null);
Python
使用 Python 客户端库。
page_token = None while True: events = service.events().instances(calendarId='primary', eventId='eventId', pageToken=page_token).execute() for event in events['items']: print event['summary'] page_token = events.get('nextPageToken') if not page_token: break
PHP
使用 PHP 客户端库。
$events = $service->events->instances('primary', "eventId"); while(true) { foreach ($events->getItems() as $event) { echo $event->getSummary(); } $pageToken = $events->getNextPageToken(); if ($pageToken) { $optParams = array('pageToken' => $pageToken); $events = $service->events->instances('primary', "eventId", $optParams); } else { break; } }
Ruby
使用 Ruby 客户端库。
page_token = nil begin result = client.list_event_instances('primary', 'eventId') result.items.each do |e| print e.summary + "\n" end if result.next_page_token != page_token page_token = result.next_page_token else page_token = nil end end while !page_token.nil?
试试看!
请使用下面的 API Explorer 对实时数据调用此方法并查看响应。