请求
HTTP 请求
GET https://www.googleapis.com/calendar/v3/users/me/calendarList
参数
参数名称 | 值 | 说明 |
---|---|---|
可选的查询参数 | ||
maxResults |
integer |
一个结果页面中返回的条目数上限。默认值为 100 个条目。每页数据大小不得超过 250 个条目。可选。 |
minAccessRole |
string |
返回条目中用户的最低访问权限角色。可选。默认值为无限制。
可接受的值包括:
|
pageToken |
string |
用于指定要返回的结果页面的令牌。可选。 |
showDeleted |
boolean |
是否在结果中包含已删除的日历列表条目。可选。默认值为 False。 |
showHidden |
boolean |
是否显示已隐藏的条目。可选。默认值为 False。 |
syncToken |
string |
从上一个列表请求的最后一页结果中返回的 nextSyncToken 字段中获取的令牌。这会使此列表请求的结果仅包含自那时起发生更改的条目。如果只有日历属性或 ACL 等只读字段发生了变化,系统不会返回相应条目。自上次列表请求之后删除和隐藏的所有条目始终会出现在结果集中,并且不允许将 showDeleted 和 showHidden 设置为 False。为确保客户端状态一致, minAccessRole 查询参数不能与 nextSyncToken 一起指定。如果 syncToken 过期,服务器将返回 410 GONE 响应代码,客户端应清除其存储空间并在不使用任何 syncToken 的情况下执行完整同步。详细了解增量同步。 可选。默认是返回所有条目。 |
授权
此请求需要获得以下至少一个范围的授权:
范围 |
---|
https://www.googleapis.com/auth/calendar.readonly |
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.calendarlist |
https://www.googleapis.com/auth/calendar.calendarlist.readonly |
如需了解详情,请参阅身份验证和授权页面。
请求正文
使用此方法时请勿提供请求正文。
响应
如果成功,此方法将返回采用以下结构的响应正文:
{ "kind": "calendar#calendarList", "etag": etag, "nextPageToken": string, "nextSyncToken": string, "items": [ calendarList Resource ] }
属性名称 | 值 | 说明 | 备注 |
---|---|---|---|
kind |
string |
集合类型(“calendar#calendarList ”)。 |
|
etag |
etag |
集合的 ETag。 | |
nextPageToken |
string |
用于访问此结果的下一页的令牌。如果没有更多结果,则省略此字段,在这种情况下,系统会提供 nextSyncToken 。 |
|
items[] |
list |
用户日历列表中显示的日历。 | |
nextSyncToken |
string |
在稍后的时间点用于仅检索自此结果返回后发生更改的条目。如果还有其他结果,则省略此字段,并提供 nextPageToken 。 |
示例
注意:此方法的代码示例并未列出所有受支持的编程语言(请参阅客户端库页面,查看受支持的语言列表)。
Java
使用 Java 客户端库。
import com.google.api.services.calendar.Calendar; import com.google.api.services.calendar.model.CalendarList; import com.google.api.services.calendar.model.CalendarListEntry; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Iterate through entries in calendar list String pageToken = null; do { CalendarList calendarList = service.calendarList().list().setPageToken(pageToken).execute(); List<CalendarListEntry> items = calendarList.getItems(); for (CalendarListEntry calendarListEntry : items) { System.out.println(calendarListEntry.getSummary()); } pageToken = calendarList.getNextPageToken(); } while (pageToken != null);
Python
使用 Python 客户端库。
page_token = None while True: calendar_list = service.calendarList().list(pageToken=page_token).execute() for calendar_list_entry in calendar_list['items']: print calendar_list_entry['summary'] page_token = calendar_list.get('nextPageToken') if not page_token: break
PHP
使用 PHP 客户端库。
$calendarList = $service->calendarList->listCalendarList(); while(true) { foreach ($calendarList->getItems() as $calendarListEntry) { echo $calendarListEntry->getSummary(); } $pageToken = $calendarList->getNextPageToken(); if ($pageToken) { $optParams = array('pageToken' => $pageToken); $calendarList = $service->calendarList->listCalendarList($optParams); } else { break; } }
Ruby
使用 Ruby 客户端库。
page_token = nil begin result = client.list_calendar_lists(page_token: page_token) 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 对实际数据调用此方法,然后查看响应。