CalendarList: list

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

Prośba

Żą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. Opcjonalnie.
minAccessRole string Minimalna rola dostępu użytkownika w zwracanych 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ć 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, która ma zostać zwrócona. Opcjonalnie.
showDeleted boolean Określa, czy w wyniku mają być uwzględnione usunięte pozycje listy kalendarzy. Opcjonalnie. Wartością domyślną jest False (Fałsz).
showHidden boolean Określa, czy pokazywać ukryte wpisy. Opcjonalnie. Wartością domyślną jest 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 żądania listy zawiera tylko wpisy, które od tego czasu się zmieniły. Jeśli zmienią się tylko pola tylko do odczytu, takie jak właściwości kalendarza lub listy kontroli dostępu, wpis nie zostanie zwrócony. Wszystkie wpisy zostały usunięte i ukryte, ponieważ poprzednie żądanie listy będzie zawsze w zestawie wyników i nie można ustawić wartości showDeleted ani showHidden na wartość Fałsz.
Aby zapewnić spójność stanu klienta, nie można podawać parametru zapytania minAccessRole razem z parametrem nextSyncToken.
Jeśli syncToken wygaśnie, serwer w odpowiedzi z kodem 410 GONE powinien wyczyścić pamięć i przeprowadzić pełną synchronizację bez żadnego syncToken.
Dowiedz się więcej o synchronizacji przyrostowej.
Opcjonalne. 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 podawaj treści żądania z tą metodą.

Odpowiedź

Jeśli operacja się uda, metoda zwróci odpowiedź w 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 ETag kolekcji.
nextPageToken string Token używany do uzyskania dostępu do następnej strony tego wyniku. Pominięta, jeśli nie ma więcej wyników. W takim przypadku dostarczana jest wartość nextSyncToken.
items[] list Kalendarze znajdujące się na liście kalendarzy użytkownika.
nextSyncToken string Token używany później do pobrania tylko tych wpisów, które zmieniły się od czasu zwrócenia tego wyniku. Pominięta, jeśli dostępne są dalsze wyniki. W takim przypadku dostarczana 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

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

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

Korzysta z 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 Eksploratora interfejsów API poniżej, aby wywołać tę metodę na aktywnych danych i zobaczyć odpowiedź.