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
Opcjonalne parametry zapytania
maxResults integer Maksymalna liczba wpisów zwróconych na jednej stronie wyników. Domyślnie jest to 100 wpisów. Rozmiar strony nigdy nie może przekraczać 250 wpisów. Opcjonalne.
minAccessRole string Minimalna rola dostępu użytkownika w zwróconych wpisach. Opcjonalne. 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ć zdarzenia oraz korzystać z list kontrolnych.
  • 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. Opcjonalne.
showDeleted boolean Określa, czy uwzględnić w wynikach usunięte pozycje z listy kalendarzy. Opcjonalne. Wartość domyślna to Fałsz.
showHidden boolean Określa, czy wyświetlać ukryte wpisy. Opcjonalne. Wartość domyślna to Fałsz.
syncToken string Token uzyskany z pola nextSyncToken zwrócony na ostatniej stronie wyników z poprzedniego żądania listy. W wyniku tego żądania listy wyświetlane są tylko wpisy, które od tego czasu uległy zmianie. Jeśli pola tylko do odczytu, takie jak właściwości kalendarza czy listy kontroli dostępu, nie zostaną zwrócone. Wszystkie wpisy usunięte i ukryte, ponieważ poprzednie żądanie listy było zawsze widoczne w wyniku, a showDeleted nie może mieć wartości showHidden ani Fałsz.
Aby zapewnić spójność stanu klienta, nie można podawać jednocześnie parametru zapytania minAccessRole razem z nextSyncToken.
Gdy kontroler syncToken utraci ważność, serwer zwróci kod odpowiedzi 410 GONE, a klient powinien wyczyścić pamięć i przeprowadzić pełną synchronizację bez użycia syncToken.
Dowiedz się więcej o przyrostowej synchronizacji.
Opcjonalnie. Domyślnie zwracane są wszystkie wpisy.

Upoważnienie

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 uwierzytelniania i autoryzacji.

Treść żądania

Nie udostępniaj treści żądania tą metodą.

Odpowiedź

Jeśli operacja się uda, metoda zwróci odpowiedź w następującym formacie:

{
  "kind": "calendar#calendarList",
  "etag": etag,
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    calendarList Resource
  ]
}
Nazwa właściwości Wartość Opis Uwagi
kind string Typ kolekcji („calendar#calendarList”).
etag etag ETag kolekcji.
nextPageToken string Token, dzięki któremu można uzyskać dostęp do następnej strony tego wyniku. Pominięto, jeśli nie są dostępne żadne dalsze wyniki. W takim przypadku podano nextSyncToken.
items[] list Kalendarze, które znajdują się na liście kalendarzy użytkownika.
nextSyncToken string Token używany później w celu pobrania tylko wpisów, które zostały zmienione od chwili zwrócenia tego wyniku. Pominięto, jeśli dostępne są dalsze wyniki. W takim przypadku podano 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 w języku 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 dla języka 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

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

Skorzystaj z eksploratora interfejsów API poniżej, aby wywołać tę metodę w aktywnych danych i zobaczyć odpowiedź.