CalendarList: list

Zwraca kalendarze na liście kalendarzy użytkownika. Wypróbuj teraz lub zobacz przykład.

Żądanie

Żądanie HTTP

GET https://www.googleapis.com/calendar/v3/users/me/calendarList

Parametry

Nazwa parametru Wartość Opis
Parametry opcjonalne zapytania
maxResults integer Maksymalna liczba wpisów zwracanych na jednej stronie wyników. Domyślna wartość to 100 pozycji. Rozmiar strony nie może przekraczać 250 pozycji. Opcjonalnie:
minAccessRole string Minimalna rola dostępu użytkownika w zwróconych wpisach. Opcjonalnie: Domyślnie nie ma ograniczeń.

Akceptowane wartości:
  • freeBusyReader”: użytkownik może odczytywać informacje o stanie Wolny/Zajęty.
  • owner”: użytkownik może odczytywać i modyfikować listy kontroli dostępu i zdarzenia.
  • reader”: użytkownik może odczytywać zdarzenia, które nie są prywatne.
  • writer”: użytkownik może odczytywać i modyfikować zdarzenia.
pageToken string Token określający, która strona z wynikami ma zostać zwrócona. Opcjonalnie:
showDeleted boolean Określa, czy w wyniku mają być uwzględniane usunięte wpisy na liście kalendarzy. Opcjonalnie: Wartość domyślna to False (fałsz).
showHidden boolean Określa, czy mają być wyświetlane ukryte wpisy. Opcjonalnie: Wartość domyślna to False (fałsz).
syncToken string Token uzyskany z pola nextSyncToken zwróconego na ostatniej stronie wyników z poprzedniego żądania listy. Dzięki temu wynik tego żądania listy zawiera tylko wpisy, które zmieniły się od tego czasu. Jeśli zmieniły się tylko pola tylko do odczytu, np. właściwości kalendarza lub listy kontroli dostępu, wpis nie zostanie zwrócony. Wszystkie pozycje usunięte i ukryte od czasu poprzedniego żądania listy będą zawsze w zbiorze wyników. Nie można ustawić wartości showDeleted ani showHidden na wartość False.
Aby zapewnić spójność stanu klienta, parametr zapytania minAccessRole nie może być określony razem z parametrem nextSyncToken.
Jeśli syncToken wygaśnie, serwer odpowie kodem 410 GONE, a klient powinien wyczyścić pamięć i przeprowadzić pełną synchronizację bez syncToken.
Więcej informacji o synchronizacji przyrostowej
Opcjonalnie. Domyślnie zwracane są wszystkie wpisy.

Autoryzacja

Ta prośba wymaga autoryzacji z co najmniej jednym z tych zakresów:

Zakres
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

Więcej informacji znajdziesz na stronie Uwierzytelnianie i autoryzacja.

Treść żądania

W przypadku tej metody nie podawaj treści żądania.

Odpowiedź

Jeśli operacja się powiedzie, metoda zwróci odpowiedź o tej strukturze:

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
Nazwa usługi Wartość Opis Uwagi
kind string Typ kolekcji („calendar#calendarList”).
etag etag ETag kolekcji.
nextPageToken string Token używany do uzyskiwania dostępu do następnej strony z tymi wynikami. Pomijany, jeśli nie ma dostępnych dalszych wyników. W takim przypadku podawana jest wartość nextSyncToken.
items[] list Kalendarze, które znajdują się na liście kalendarzy użytkownika.
nextSyncToken string Token używany w późniejszym czasie do pobierania tylko tych wpisów, które uległy zmianie od czasu zwrócenia tego wyniku. Pomijany, jeśli są dostępne inne wyniki, w którym przypadku jest podawany parametr nextPageToken.

Przykłady

Uwaga: dostępne dla tej metody przykłady kodu nie odzwierciedlają wszystkich obsługiwanych języków programowania. Listę obsługiwanych języków znajdziesz na stronie z bibliotekami klienta.

Java

Korzysta z biblioteki klienta 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

Korzysta z biblioteki klienta Pythona.

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

Używa biblioteki klienta 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

Używa biblioteki klienta 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?

Wypróbuj

Aby wywołać tę metodę na podstawie danych na żywo i zobaczyć odpowiedź, użyj narzędzia APIs Explorer.