Events: instances

Zwraca wystąpienia określonego wydarzenia cyklicznego. Wypróbuj 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 narzędzia „primary” słowa kluczowego.
eventId string Identyfikator zdarzenia cyklicznego.
Opcjonalne parametry zapytania
alwaysIncludeEmail boolean Wycofane i ignorowane. W przypadku organizatora, twórcy i uczestników w polu email zostanie zawsze zwrócona wartość, nawet jeśli prawdziwy adres e-mail nie będzie dostępny (w tym przypadku zostanie podana wygenerowana, niedziałająca wartość).
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. Domyślnie wartość to 250 zdarzeń. Rozmiar strony nie może być większy niż 2500 zdarzeń. Opcjonalnie:
originalStart string Pierwotny czas rozpoczęcia instancji w wyniku. Opcjonalnie:
pageToken string Token określający stronę wyników do zwrócenia. Opcjonalnie:
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 będą nadal uwzględniane, jeśli singleEvents ma wartość Fałsz. Opcjonalnie: Wartość domyślna to Fałsz.
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.
timeMin datetime Dolna granica (włącznie) określająca godzinę zakończenia zdarzenia, według której 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.
timeZone string Strefa czasowa użyta w odpowiedzi. Opcjonalnie: Wartość domyślna to strefa czasowa kalendarza.

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 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 w Pythonie.

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

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