Events: list

Zwraca wydarzenia w wybranym kalendarzu. Wypróbuj teraz lub zobacz przykład.

Żądanie

Żądanie HTTP

GET https://www.googleapis.com/calendar/v3/calendars/calendarId/events

Parametry

Nazwa parametru Wartość Opis
Parametry ścieżki
calendarId string Identyfikator kalendarza. Aby pobrać identyfikatory kalendarzy, wywołaj metodę calendarList.list. Jeśli chcesz uzyskać dostęp do głównego kalendarza aktualnie zalogowanego użytkownika, użyj słowa kluczowego „primary”.
Parametry opcjonalne zapytania
alwaysIncludeEmail boolean Ta wersja jest wycofana i ignorowana.
eventTypes string Typy zdarzeń do zwrócenia. Opcjonalnie: Ten parametr można powtórzyć kilka razy, aby zwracać zdarzenia różnych typów. Jeśli nie zostanie ustawiony, zwraca wszystkie typy zdarzeń.

Akceptowane wartości:
  • birthday”: specjalne całodniowe wydarzenia powtarzające się co roku.
  • default”: zwykłe zdarzenia.
  • focusTime”: zdarzenia czasu skupienia.
  • fromGmail”: wydarzenia z Gmaila.
  • outOfOffice”: wydarzenia poza biurem.
  • workingLocation”: zdarzenia dotyczące lokalizacji miejsca pracy.
iCalUID string Określa identyfikator wydarzenia w formacie iCalendar, który ma być podany w odpowiedzi. Opcjonalnie: Użyj tej opcji, jeśli chcesz wyszukać wydarzenie według identyfikatora iCalendar.
maxAttendees integer Maksymalna liczba uczestników, których można uwzględnić w odpowiedzi. Jeśli liczba uczestników jest większa od określonej, zwracany jest tylko jeden uczestnik. Opcjonalnie:
maxResults integer Maksymalna liczba zdarzeń zwracanych na jednej stronie wyników. Liczba zdarzeń na stronie wynikowej może być mniejsza od tej wartości lub może nie być w ogóle żadnego, nawet jeśli pasuje do zapytania więcej zdarzeń. Niepełne strony można wykryć na podstawie niepustego pola nextPageToken w odpowiedzi. Domyślna wartość to 250 zdarzeń. Rozmiar strony nie może przekraczać 2500 zdarzeń. Opcjonalnie:
orderBy string kolejność zdarzeń zwróconych w wyniku. Opcjonalnie: Domyślna jest nieokreślona, stabilna kolejność.

Akceptowane wartości:
  • startTime”: kolejność według daty/godziny rozpoczęcia (rosnąca). Jest to możliwe tylko w przypadku zapytań dotyczących pojedynczych zdarzeń (czyli gdy parametr singleEvents ma wartość Prawda).
  • updated”: kolejność według czasu ostatniej modyfikacji (rosnąco).
pageToken string Token określający, która strona z wynikami ma zostać zwrócona. Opcjonalnie:
privateExtendedProperty string Ograniczenie właściwości rozszerzonych określone jako propertyName=value. Pasuje tylko do właściwości prywatnych. Ten parametr może być powtarzany wielokrotnie, aby zwracać zdarzenia, które pasują do wszystkich podanych ograniczeń.
q string wyszukiwanie w postaci tekstu dowolnego, aby znaleźć zdarzenia pasujące do tych terminów w tych polach:
  • summary
  • description
  • location
  • displayName uczestnika
  • email uczestnika
  • organizatora displayName
  • organizatora email
  • workingLocationProperties.officeLocation.buildingId
  • workingLocationProperties.officeLocation.deskId
  • workingLocationProperties.officeLocation.label
  • workingLocationProperties.customLocation.label

Te wyszukiwane słowa są też dopasowywane do zdefiniowanych wstępnie słów kluczowych we wszystkich tłumaczeniach tytułu wyświetlanego w przypadku wydarzeń związanych z miejscem pracy, nieobecnością w pracy i czasem nauki. Na przykład wyszukiwanie „Biuro” lub „Bureau” spowoduje zwrócenie zdarzeń związanych z lokalizacją pracy typu officeLocation, natomiast wyszukiwanie „Nieobecność” lub „Abwesend” spowoduje zwrócenie zdarzeń związanych z nieobecnością. Opcjonalnie:

sharedExtendedProperty string Ograniczenie właściwości rozszerzonych określone jako propertyName=value. pasuje tylko do właściwości udostępnionych; Ten parametr może być powtarzany wielokrotnie, aby zwracać zdarzenia, które pasują do wszystkich podanych ograniczeń.
showDeleted boolean Określa, czy w wyniku mają być uwzględniane usunięte zdarzenia (z wartością status równą „cancelled”). Anulowane wystąpienia cyklicznych zdarzeń (ale nie samo cykliczne zdarzenie) będą uwzględniane, jeśli wartości showDeleted i singleEvents mają wartość „False”. Jeśli showDeletedsingleEvents mają wartość Prawda, zwracane są tylko pojedyncze wystąpienia usuniętych zdarzeń (ale nie ich podstawy, czyli wydarzenia cykliczne). Opcjonalnie: Wartość domyślna to False (fałsz).
showHiddenInvitations boolean Określ, czy w wyniku mają być uwzględnione ukryte zaproszenia. Opcjonalnie: Wartość domyślna to False (fałsz).
singleEvents boolean Określa, czy należy rozwinąć cykliczne zdarzenia na wystąpienia i zwrócić tylko pojedyncze zdarzenia oraz wystąpienia cyklicznych zdarzeń, ale nie same cykliczne zdarzenia. 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. Wszystkie wydarzenia usunięte od czasu poprzedniego żądania listy będą zawsze w zbiorze wyników, a wartość parametru showDeleted nie może być ustawiona na False.
Aby zapewnić spójność stanu klienta, istnieje kilka parametrów zapytań, których nie można określać razem z parametrem nextSyncToken.

Należą do nich:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
 Aby uniknąć nieokreślonego zachowania, wszystkie pozostałe parametry zapytania powinny być takie same jak w przypadku początkowej synchronizacji. 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.
timeMax datetime Górna granica (nie wliczając) czasu rozpoczęcia zdarzenia, według którego chcesz filtrować dane. Opcjonalnie: Domyślnie filtrowanie według czasu rozpoczęcia jest wyłączone. Musi być sygnaturą czasową w formacie RFC3339 z obowiązkowym przesunięciem strefy czasowej, np. 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Można podać milisekundy, ale zostaną one zignorowane. Jeśli ustawiona jest opcja timeMin, opcja timeMax musi być większa niż timeMin.
timeMin datetime Dolny (nieobejmuje) limit czasu zakończenia zdarzenia, według którego chcesz filtrować dane. Opcjonalnie: Domyślnie filtrowanie według czasu zakończenia jest wyłączone. Musi być sygnaturą czasową w formacie RFC3339 z obowiązkowym przesunięciem strefy czasowej, np. 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Można podać milisekundy, ale zostaną one zignorowane. Jeśli ustawiona jest wartość timeMax, wartość timeMin musi być mniejsza niż timeMax.
timeZone string Strefa czasowa używana w odpowiedzi. Opcjonalnie: Domyślnie jest to strefa czasowa kalendarza.
updatedMin datetime Dolna granica czasu ostatniej modyfikacji zdarzenia (jako sygnatura czasowa RFC3339), według której można filtrować. Jeśli to pole jest określone, wpisy usunięte od tego czasu będą zawsze uwzględniane niezależnie od wartości parametru showDeleted. Opcjonalnie: Domyślnie nie filtruje według czasu ostatniej modyfikacji.

Autoryzacja

Ta prośba umożliwia autoryzację 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.events.readonly
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.freebusy
https://www.googleapis.com/auth/calendar.events.owned
https://www.googleapis.com/auth/calendar.events.owned.readonly
https://www.googleapis.com/auth/calendar.events.public.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#events",
  "etag": etag,
  "summary": string,
  "description": string,
  "updated": datetime,
  "timeZone": string,
  "accessRole": string,
  "defaultReminders": [
    {
      "method": string,
      "minutes": integer
    }
  ],
  "nextPageToken": string,
  "nextSyncToken": string,
  "items": [
    events Resource
  ]
}
Nazwa usługi Wartość Opis Uwagi
kind string Typ kolekcji („calendar#events”).
etag etag ETag kolekcji.
summary string Tytuł kalendarza. Tylko do odczytu.
description string Opis kalendarza. Tylko do odczytu.
updated datetime Czas ostatniej modyfikacji kalendarza (jako sygnatura czasowa RFC3339). Tylko do odczytu.
timeZone string Strefa czasowa kalendarza. Tylko do odczytu.
accessRole string Rola dostępu użytkownika do tego kalendarza. Tylko do odczytu. Możliwe wartości:
  • none” – użytkownik nie ma dostępu.
  • freeBusyReader” – użytkownik ma uprawnienia tylko do odczytu informacji o stanie Wolny/Zajęty.
  • reader” – użytkownik ma dostęp tylko do odczytu kalendarza. Wydarzenia prywatne będą widoczne dla użytkowników z dostępem tylko do odczytu, ale szczegóły wydarzeń będą ukryte.
  • writer” – użytkownik ma uprawnienia do odczytu i zapisu w kalendarzu. Wydarzenia prywatne będą widoczne dla użytkowników z dostępem do funkcji pisania, a szczegóły wydarzeń będą widoczne.
  • owner” – użytkownik jest właścicielem kalendarza. Ta rola ma wszystkie uprawnienia roli autora, a dodatkowo umożliwia wyświetlanie i modyfikowanie list dostępu.
defaultReminders[] list Domyślne przypomnienia w kalendarzu dla uwierzytelnionego użytkownika. Te przypomnienia dotyczą wszystkich wydarzeń w tym kalendarzu, które nie zastępują ich wprost (czyli nie mają ustawionego parametru reminders.useDefault na wartość Prawda).
defaultReminders[].method string Metoda używana przez ten przypomnienie. Możliwe wartości:
  • email” – przypomnienia są wysyłane pocztą e-mail.
  • popup” – przypomnienia są wysyłane przez wyskakujące okienko w interfejsie.

Wymagany podczas dodawania przypomnienia.

zapisywalny
defaultReminders[].minutes integer Liczba minut przed rozpoczęciem wydarzenia, w których przypomnienie powinno się aktywować. Dozwolone wartości to 0–40 320 (4 tygodnie w minutach).

Wymagany podczas dodawania przypomnienia.

zapisywalny
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 Lista wydarzeń w kalendarzu.
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.Event;
import com.google.api.services.calendar.model.Events;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Iterate over the events in the specified calendar
String pageToken = null;
do {
  Events events = service.events().list('primary').setPageToken(pageToken).execute();
  List<Event> items = events.getItems();
  for (Event event : items) {
    System.out.println(event.getSummary());
  }
  pageToken = events.getNextPageToken();
} while (pageToken != null);

Python

Korzysta z biblioteki klienta Pythona.

page_token = None
while True:
  events = service.events().list(calendarId='primary', pageToken=page_token).execute()
  for event in events['items']:
    print event['summary']
  page_token = events.get('nextPageToken')
  if not page_token:
    break

PHP

Używa biblioteki klienta PHP.

$events = $service->events->listEvents('primary');

while(true) {
  foreach ($events->getItems() as $event) {
    echo $event->getSummary();
  }
  $pageToken = $events->getNextPageToken();
  if ($pageToken) {
    $optParams = array('pageToken' => $pageToken);
    $events = $service->events->listEvents('primary', $optParams);
  } else {
    break;
  }
}

Ruby

Używa biblioteki klienta Ruby.

page_token = nil
begin
  result = client.list_events('primary', 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.