Events: instances

Restituisce le istanze dell'evento ricorrente specificato. Prova subito o guarda un esempio.

Richiesta

Richiesta HTTP

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

Parametri

Nome del parametro Valore Descrizione
Parametri percorso
calendarId string Identificatore di calendario. Per recuperare gli ID calendario, chiama il metodo calendarList.list. Se vuoi accedere al calendario principale dell'utente che ha eseguito l'accesso, usa "primary" parola chiave.
eventId string Identificatore di evento ricorrente.
Parametri di query facoltativi
alwaysIncludeEmail boolean Deprecato e ignorato. Verrà sempre restituito un valore nel campo email per l'organizzatore, l'autore e i partecipanti, anche se non è disponibile un indirizzo email reale (ovvero, verrà fornito un valore generato e non funzionante).
maxAttendees integer Il numero massimo di partecipanti da includere nella risposta. Se il numero di partecipanti supera quello specificato, viene restituito solo il partecipante. (Facoltativo)
maxResults integer Numero massimo di eventi restituiti in una pagina dei risultati. Per impostazione predefinita, il valore è 250 eventi. La dimensione della pagina non può mai essere superiore a 2500 eventi. (Facoltativo)
originalStart string L'ora di inizio originale dell'istanza nel risultato. (Facoltativo)
pageToken string Token che specifica la pagina dei risultati da restituire. (Facoltativo)
showDeleted boolean Indica se includere eventi eliminati (con status è uguale a "cancelled") nel risultato. Le istanze annullate di eventi ricorrenti saranno comunque incluse se il valore di singleEvents è False. (Facoltativo) Il valore predefinito è False.
timeMax datetime Limite superiore (esclusivo) relativo all'ora di inizio di un evento in base al quale applicare il filtro. (Facoltativo) L'impostazione predefinita non è filtrare in base all'ora di inizio. Deve essere un timestamp RFC3339 con una differenza di fuso orario obbligatoria.
timeMin datetime Limite inferiore (compreso) relativo all'ora di fine di un evento in base al quale applicare il filtro. (Facoltativo) L'impostazione predefinita non è filtrare in base all'ora di fine. Deve essere un timestamp RFC3339 con una differenza di fuso orario obbligatoria.
timeZone string Fuso orario utilizzato nella risposta. (Facoltativo) Il valore predefinito è il fuso orario del calendario.

Autorizzazione

Questa richiesta consente l'autorizzazione con almeno uno dei seguenti ambiti:

Ambito
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

Per ulteriori informazioni, consulta la pagina Autenticazione e autorizzazione.

Corpo della richiesta

Non fornire un corpo della richiesta con questo metodo.

Risposta

In caso di esito positivo, questo metodo restituisce un corpo della risposta con la seguente struttura:

{
  "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
  ]
}
Nome proprietà Valore Descrizione Note
kind string Tipo di raccolta ("calendar#events").
etag etag ETag della raccolta.
summary string Titolo del calendario. Sola lettura.
description string Descrizione del calendario. Sola lettura.
updated datetime Ora dell'ultima modifica del calendario (come timestamp RFC3339). Sola lettura.
timeZone string Il fuso orario del calendario. Sola lettura.
accessRole string Il ruolo di accesso dell'utente per questo calendario. Sola lettura. I valori possibili sono:
  • "none" - L'utente non ha accesso.
  • "freeBusyReader" - L'utente ha accesso in lettura alle informazioni sulla disponibilità.
  • "reader" - L'utente ha accesso in lettura al calendario. Gli eventi privati saranno visibili agli utenti con accesso in lettura, ma i relativi dettagli saranno nascosti.
  • "writer" - L'utente dispone dell'accesso in lettura e scrittura al calendario. Gli eventi privati verranno mostrati agli utenti con accesso in scrittura e i dettagli degli eventi saranno visibili.
  • "owner" - L'utente ha la proprietà del calendario. Questo ruolo possiede tutte le autorizzazioni del ruolo Writer con un'ulteriore possibilità di visualizzare e gestire gli ACL.
defaultReminders[] list I promemoria predefiniti nel calendario per l'utente autenticato. Questi promemoria si applicano a tutti gli eventi di questo calendario che non li sostituiscono esplicitamente (ad esempio, il criterio reminders.useDefault non è impostato su True).
defaultReminders[].method string Il metodo utilizzato da questo promemoria. I valori possibili sono:
  • "email" - I promemoria vengono inviati via email.
  • "popup" - I promemoria vengono inviati tramite un popup dell'interfaccia utente.

Obbligatorio quando aggiungi un promemoria.

accessibile in scrittura
defaultReminders[].minutes integer Numero di minuti prima dell'inizio dell'evento quando deve essere attivato il promemoria. I valori validi sono compresi tra 0 e 40320 (4 settimane in minuti).

Obbligatorio quando aggiungi un promemoria.

accessibile in scrittura
nextPageToken string Token utilizzato per accedere alla pagina successiva di questo risultato. Omesso se non sono disponibili ulteriori risultati, in questo caso viene fornito il valore nextSyncToken.
items[] list Elenco degli eventi nel calendario.
nextSyncToken string Token utilizzato in un secondo momento per recuperare solo le voci che sono state modificate dopo che è stato restituito questo risultato. Omesso se sono disponibili ulteriori risultati, in questo caso viene fornito il valore nextPageToken.

Esempi

Nota: gli esempi di codice disponibili per questo metodo non rappresentano tutti i linguaggi di programmazione supportati (consulta la pagina relativa alle librerie client per un elenco dei linguaggi supportati).

Java

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client 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

Utilizza la libreria client 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?

Prova

Usa Explorer API in basso per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.