要求
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 |
詳情請參閱「驗證與授權」網頁。
要求主體
請勿使用這個方法提供請求主體。
回應
如果成功的話,這個方法會傳回回應內文,其結構如下:
{ "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 用戶端程式庫。
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?
試試看!
使用下方的 APIs Explorer,針對即時資料呼叫這個方法,看看會有什麼結果。