Events: instances

Zwraca instancje określonego wydarzenia cyklicznego. Wypróbuj teraz lub zobacz przykład.

Żądanie

Żądanie HTTP

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

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 słowa kluczowego „primary”.
eventId string Identyfikator wydarzenia cyklicznego.
Opcjonalne parametry zapytania
alwaysIncludeEmail boolean Wycofane i ignorowane. Wartość w polu email dla organizatora, twórcy i uczestników jest zawsze zwracana, nawet jeśli nie jest dostępny prawdziwy adres e-mail (ta wartość zostanie wygenerowana i nie będzie działać).
maxAttendees integer Maksymalna liczba uczestników uwzględnionych w odpowiedzi. Jeśli uczestników jest więcej niż określona, zwracany jest tylko uczestnik. Opcjonalne.
maxResults integer Maksymalna liczba zdarzeń zwróconych na jednej stronie wyników. Domyślnie jest to 250 zdarzeń. Rozmiar strony nie może przekraczać 2500 zdarzeń. Opcjonalne.
originalStart string Pierwotny czas rozpoczęcia instancji w wyniku. Opcjonalne.
pageToken string Token określający stronę wyników do zwrócenia. Opcjonalne.
showDeleted boolean Określa, czy w wynikach ma być usunięte zdarzenia (status to równa się „cancelled”). Anulowane wystąpienia wydarzeń cyklicznych będą nadal uwzględniane, jeśli zasada singleEvents ma wartość Fałsz. Opcjonalne. Wartość domyślna to Fałsz.
timeMax datetime Górna granica (wyłączna) godziny rozpoczęcia zdarzenia, według którego chcesz filtrować. Opcjonalne. Ustawieniem domyślnym nie jest filtrowanie według czasu rozpoczęcia. Musi to być sygnatura czasowa RFC3339 z wymaganym przesunięciem strefy czasowej.
timeMin datetime Dolna granica (wywołana przez filtr) czas zakończenia zdarzenia, według którego chcesz filtrować. Opcjonalne. Ustawieniem domyślnym nie jest filtrowanie według czasu zakończenia. Musi to być sygnatura czasowa RFC3339 z wymaganym przesunięciem strefy czasowej.
timeZone string Strefa czasowa w odpowiedzi. Opcjonalne. Domyślnie jest to strefa czasowa kalendarza.

Upoważnienie

To żądanie umożliwia autoryzację przy użyciu co najmniej jednego 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 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#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 właściwości 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 użytkownika w tym kalendarzu. Tylko do odczytu. Możliwe wartości:
  • none” – użytkownik nie ma dostępu.
  • freeBusyReader” – użytkownik ma dostęp do informacji o stanie Wolny/Zajęty.
  • reader” – użytkownik ma dostęp do kalendarza. Prywatne wydarzenia będą widoczne dla użytkowników z dostępem 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 uprawnieniami zapisującego, a ich szczegóły będą widoczne.
  • owner” – użytkownik jest właścicielem kalendarza. Ta rola ma wszystkie uprawnienia roli zapisującego, a dodatkowo umożliwia wyświetlanie i modyfikowanie list kontroli dostępu.
defaultReminders[] list Domyślne przypomnienia w kalendarzu dotyczące uwierzytelnionego użytkownika. Przypomnienia mają zastosowanie do wszystkich wydarzeń w tym kalendarzu, które nie mają na nich wyraźnego znaczenia (tzn. gdy reminders.useDefault nie mają wartości Prawda).
defaultReminders[].method string Metoda używana przez to przypomnienie. Możliwe wartości:
  • email” – przypomnienia są wysyłane e-mailem.
  • popup” – przypomnienia są wysyłane w wyskakującym okienku interfejsu.

Wymagane podczas dodawania przypomnienia.

zapisywalny
defaultReminders[].minutes integer Liczba minut przed rozpoczęciem wydarzenia, w którym powinno się włączyć przypomnienie. Prawidłowe wartości to 0 – 40320 (4 tygodnie w minutach).

Wymagane podczas dodawania przypomnienia.

zapisywalny
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 Lista wydarzeń w kalendarzu.
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.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 instances of a specific recurring event
String pageToken = null;
do {
  Events events =
      service.events().instances('primary', 'eventId').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 dla języka Python.

page_token = None
while True:
  events = service.events().instances(calendarId='primary', eventId='eventId',
                                      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->instances('primary', "eventId");

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

Ruby

Używa biblioteki klienta Ruby.

page_token = nil
begin
  result = client.list_event_instances('primary', 'eventId')
  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ź.