Events: list

Zwraca wydarzenia z określonego kalendarza. Wypróbuj 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 kalendarza głównego obecnie zalogowanego użytkownika, użyj narzędzia „primary” słowa kluczowego.
Opcjonalne parametry zapytania
alwaysIncludeEmail boolean Wycofane i ignorowane.
eventTypes string Typy zdarzeń do zwrócenia. Opcjonalnie: Ten parametr można powtarzać wiele razy, aby zwracać zdarzenia różnego typu. Jeśli zasada jest nieskonfigurowana, zwraca wszystkie typy zdarzeń.

Akceptowane wartości to:
  • default”: zwykłe wydarzenia.
  • focusTime”: wydarzenia typu czas skupienia.
  • fromGmail”: wydarzenia z Gmaila.
  • outOfOffice”: wydarzenia Poza biurem.
  • workingLocation”: zdarzenia dotyczące lokalizacji miejsca pracy.
iCalUID string Określa identyfikator wydarzenia w formacie iKalendarz, który ma zostać podany w odpowiedzi. Opcjonalnie: Użyj tej opcji, jeśli chcesz wyszukać wydarzenie według jego identyfikatora iKalendarz.
maxAttendees integer Maksymalna liczba uczestników do uwzględnienia w odpowiedzi. Jeśli uczestników jest więcej, zwracany jest tylko uczestnik. Opcjonalnie:
maxResults integer Maksymalna liczba zdarzeń zwracanych na 1 stronie wyników. Liczba zdarzeń na stronie może być mniejsza od tej wartości lub nie pojawiać się wcale, nawet jeśli do zapytania pasuje więcej zdarzeń. Niekompletne strony mogą zostać wykryte przez niepuste pole nextPageToken w odpowiedzi. Domyślnie wartość to 250 zdarzeń. Rozmiar strony nie może być większy niż 2500 zdarzeń. Opcjonalnie:
orderBy string Kolejność zdarzeń zwracanych w wyniku. Opcjonalnie: Wartość domyślna to nieokreślona, stabilna kolejność.

Akceptowane wartości to:
  • startTime”: sortowanie według daty/godziny rozpoczęcia (rosnąco). Ta opcja jest dostępna tylko przy wysyłaniu zapytań o pojedyncze zdarzenia (np.parametr singleEvents ma wartość True).
  • updated”: sortowanie według czasu ostatniej modyfikacji (rosnąco).
pageToken string Token określający stronę wyników do zwrócenia. Opcjonalnie:
privateExtendedProperty string Ograniczenie właściwości rozszerzonych jest określone w formacie propertyName=value. Dopasowuje tylko właściwości prywatne. Ten parametr może być powtórzony wiele razy, aby zwracać zdarzenia, które pasują do wszystkich podanych ograniczeń.
q string Zapytania wg dowolnego tekstu pozwalające wyszukać zdarzenia pasujące do tych haseł w tych polach:
  • summary
  • description
  • location
  • displayName uczestnika
  • email uczestnika
  • displayName organizatora
  • email organizatora
  • workingLocationProperties.officeLocation.buildingId
  • workingLocationProperties.officeLocation.deskId
  • workingLocationProperties.officeLocation.label
  • workingLocationProperties.customLocation.label

Te wyszukiwane hasła pasują też do wstępnie zdefiniowanych słów kluczowych w odniesieniu do wszystkich wyświetlanych tytułów w językach: lokalizacji miejsca pracy, „poza biurem” i wydarzeń czasu skupienia. Na przykład wyszukanie hasła „Biuro”. lub „Bureau” zwraca zdarzenia dotyczące lokalizacji miejsca pracy typu officeLocation, podczas gdy wyszukiwanie „Poza biurem” lub „Abwesend” zwraca wydarzenia poza biurem. Opcjonalnie:

sharedExtendedProperty string Ograniczenie właściwości rozszerzonych jest określone w formacie propertyName=value. Pasuje tylko do właściwości udostępnionych. Ten parametr może być powtórzony wiele razy, aby zwracać zdarzenia, które pasują do wszystkich podanych ograniczeń.
showDeleted boolean Określa, czy w wyniku mają zostać uwzględnione usunięte wydarzenia (gdy status równa się „cancelled”). Anulowane wystąpienia wydarzeń cyklicznych (ale nie wydarzenia cyklicznego powiązanego z nim) będą nadal uwzględniane, jeśli zarówno showDeleted, jak i singleEvents mają wartość Fałsz. Jeśli wartości showDeleted i singleEvents mają wartość Prawda, zwracane są tylko pojedyncze wystąpienia usuniętych wydarzeń (ale nie powiązane z nimi wydarzenia cykliczne). Opcjonalnie: Wartość domyślna to Fałsz.
showHiddenInvitations boolean Określa, czy w wynikach mają być uwzględnione ukryte zaproszenia. Opcjonalnie: Wartość domyślna to Fałsz.
singleEvents boolean Określa, czy przekształcić wydarzenia cykliczne w wystąpienia i zwracać tylko jednorazowe wydarzenia oraz wystąpienia wydarzeń cyklicznych, ale nie same wydarzenia cykliczne. 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. Wszystkie zdarzenia usunięte od czasu poprzedniego żądania listy zawsze będą znajdować się w zestawie wyników i nie można ustawić zasady showDeleted na wartość Fałsz.
Jest kilka parametrów zapytania, których nie można określić razem z parametrem nextSyncToken, aby zapewnić spójność stanu klienta.

Są to:
  • iCalUID
  • orderBy
  • privateExtendedProperty
  • q
  • sharedExtendedProperty
  • timeMin
  • timeMax
  • updatedMin
Wszystkie pozostałe parametry zapytania powinny być takie same jak przy początkowej synchronizacji, by uniknąć niezdefiniowanego zachowania. Jeśli komunikat syncToken wygaśnie, serwer odpowie z kodem odpowiedzi 410 GONE i klient powinien wyczyścić pamięć urządzenia i przeprowadzić pełną synchronizację bez użycia funkcji syncToken.
Dowiedz się więcej o synchronizacji przyrostowej.
Opcjonalna. Domyślnie zwracane są wszystkie wpisy.
timeMax datetime Górna granica (wyłącznie) określająca godzinę rozpoczęcia zdarzenia, według której ma być filtrowane. Opcjonalnie: Domyślnie nie jest ono filtrowane według czasu rozpoczęcia. Musi to być sygnatura czasowa RFC3339 z obowiązkowym przesunięciem strefy czasowej, na przykład 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Można podać milisekundy, ale są one ignorowane. Jeśli ustawiono timeMin, wartość timeMax musi być większa niż timeMin.
timeMin datetime Dolna granica (wyłącznie) określająca czas zakończenia zdarzenia, według którego ma być filtrowane. Opcjonalnie: Domyślnie nie jest ono filtrowane według godziny zakończenia. Musi to być sygnatura czasowa RFC3339 z obowiązkowym przesunięciem strefy czasowej, na przykład 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Można podać milisekundy, ale są one ignorowane. Jeśli ustawiono timeMax, wartość timeMin musi być mniejsza niż timeMax.
timeZone string Strefa czasowa użyta w odpowiedzi. Opcjonalnie: Wartość domyślna to strefa czasowa kalendarza.
updatedMin datetime Dolna granica czasu ostatniej modyfikacji zdarzenia (w postaci sygnatury czasowej RFC3339), według którego ma być filtrowany. W przypadku określenia tego parametru wpisy usunięte od tego czasu będą zawsze uwzględniane, niezależnie od wartości showDeleted. Opcjonalnie: Domyślnie filtrowanie według czasu ostatniej modyfikacji nie jest filtrowane.

Autoryzacja

To żądanie zezwala na 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

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#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 Tag ETag kolekcji.
summary string Tytuł kalendarza. Tylko do odczytu.
description string Opis kalendarza. Tylko do odczytu.
updated datetime Ostatnia modyfikacja kalendarza (w postaci sygnatury czasowej RFC3339). Tylko do odczytu.
timeZone string Strefa czasowa kalendarza. Tylko do odczytu.
accessRole string Rola użytkownika z dostępem do tego kalendarza. Tylko do odczytu. Możliwe wartości:
  • none” - Użytkownik nie ma dostępu.
  • freeBusyReader” - Użytkownik ma dostęp z możliwością odczytu informacji o stanie Wolny/Zajęty.
  • reader” - Użytkownik ma uprawnienia do odczytu kalendarza. Wydarzenia prywatne będą wyświetlane użytkownikom z uprawnieniami do odczytu, ale ich szczegóły będą ukryte.
  • writer” – Użytkownik ma uprawnienia do odczytu i zapisu w kalendarzu. Wydarzenia prywatne będą się wyświetlać użytkownikom z uprawnieniami do zapisu oraz będą widoczne szczegóły wydarzeń.
  • owner” – Użytkownik jest właścicielem kalendarza. Ta rola obejmuje wszystkie uprawnienia zapisującego oraz dodatkowe możliwości wyświetlania list kontroli dostępu i manipulowania nimi.
defaultReminders[] list Domyślne przypomnienia w kalendarzu dla uwierzytelnionego użytkownika. Te przypomnienia dotyczą wszystkich wydarzeń w tym kalendarzu, które ich nie zastępują (tj. nie mają wartości reminders.useDefault ustawionej na Prawda).
defaultReminders[].method string Metoda użyta w tym przypomnieniu. Możliwe wartości:
  • email” - Przypomnienia są wysyłane e-mailem.
  • popup” – Przypomnienia są wysyłane przez wyskakujące okienko interfejsu.

Wymagane przy dodawaniu przypomnienia.

z możliwością zapisu
defaultReminders[].minutes integer Liczba minut przed rozpoczęciem wydarzenia, kiedy powinno wyświetlić się przypomnienie. Prawidłowe wartości mieszczą się w zakresie od 0 do 40 320 (4 tygodnie w minutach).

Wymagane przy dodawaniu przypomnienia.

z możliwością zapisu
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 Lista wydarzeń w kalendarzu.
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.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

Używa biblioteki klienta w Pythonie.

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

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