CalendarList: list

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

Żądanie

Żądanie HTTP

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

Parametry

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

Akceptowane wartości to:
  • freeBusyReader”: użytkownik może odczytać informacje o stanie Wolny/Zajęty.
  • owner”: użytkownik może odczytywać i modyfikować zdarzenia oraz listy kontroli dostępu.
  • reader”: użytkownik może odczytywać wydarzenia, które nie są prywatne.
  • writer”: użytkownik może odczytywać i modyfikować zdarzenia.
pageToken string Token określający stronę wyników do zwrócenia. Opcjonalnie:
showDeleted boolean Określa, czy w wyniku mają zostać uwzględnione usunięte wpisy z listy kalendarzy. Opcjonalnie: Wartość domyślna to Fałsz.
showHidden boolean Określa, czy wyświetlać ukryte wpisy. Opcjonalnie: Wartość domyślna to Fałsz.
syncToken string Token uzyskany z pola nextSyncToken zwróconego na ostatniej stronie wyników wyszukiwania w poprzednim żądaniu wyświetlenia listy. Dzięki temu wynik tego żądania listy zawiera tylko te pozycje, które zmieniły się od tego czasu. Jeśli zmienią się tylko pola tylko do odczytu, takie jak właściwości kalendarza lub listy kontroli dostępu, ten wpis nie zostanie zwrócony. Wszystkie wpisy usunięte i ukryte od czasu poprzedniego żądania listy zawsze będą znajdować się w zestawie wyników. Nie można też ustawić zasady showDeleted na wartość showHidden ani ustawić wartości False.
Aby zapewnić spójność stanu klienta, parametru zapytania minAccessRole nie można określić razem z parametrem nextSyncToken.
Jeśli syncToken utraci ważność, serwer wyśle odpowiedź z kodem odpowiedzi 410 GONE i klient powinien wyczyścić pamięć urządzenia i przeprowadzić pełną synchronizację bez użycia kodu syncToken.
Dowiedz się więcej o synchronizacji przyrostowej.
Opcjonalne. Domyślnie zwracane są wszystkie wpisy.

Autoryzacja

To żądanie wymaga autoryzacji z co najmniej jednym z tych zakresów:

Zakres
https://www.googleapis.com/auth/calendar.readonly
https://www.googleapis.com/auth/calendar

Więcej informacji znajdziesz na stronie dotyczącej uwierzytelniania i autoryzacji.

Treść żądania

Nie podawaj treści żądania przy użyciu tej metody.

Odpowiedź

Jeśli operacja się uda, metoda zwróci odpowiedź o następującej 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 Tag ETag kolekcji.
nextPageToken string Token użyty do uzyskania dostępu do następnej strony tego wyniku. Pomijany, jeśli nie są dostępne żadne dalsze wyniki. W takim przypadku podawana jest wartość nextSyncToken.
items[] list Kalendarze na liście kalendarzy użytkownika.
nextSyncToken string Token użyty później do pobrania tylko wpisów, które uległy zmianie od czasu zwrócenia danego wyniku. Pomijany, jeśli dostępne są kolejne wyniki. W takim przypadku podawana jest wartość 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

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

Używa biblioteki klienta w Pythonie.

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

Użyj poniższego eksploratora interfejsów API, aby wywołać tę metodę na bieżących danych i wyświetlić odpowiedź.