Events: update

Aggiorna un evento. Questo metodo non supporta la semantica delle patch e aggiorna sempre l'intera risorsa evento. Per eseguire un aggiornamento parziale, esegui un get seguito da un update utilizzando gli etag per garantire l'atomicità. Prova ora o guarda un esempio.

Richiesta

Richiesta HTTP

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

Parametri

Nome del parametro Valore Descrizione
Parametri del percorso
calendarId string Identificatore del calendario. Per recuperare gli ID calendario, chiama il metodo calendarList.list. Se vuoi accedere al calendario principale dell'utente che ha eseguito l'accesso, utilizza la parola chiave "primary".
eventId string Identificatore evento.
Parametri di query facoltativi
alwaysIncludeEmail boolean Ritirata e ignorata. Nel campo email verrà sempre restituito un valore per l'organizzatore, il creator e i partecipanti, anche se non è disponibile un indirizzo email reale (ovvero verrà fornito un valore generato non funzionante).
conferenceDataVersion integer Numero di versione dei dati della conferenza supportati dal client API. La versione 0 non presuppone il supporto dei dati della conferenza e li ignora nel corpo dell'evento. La versione 1 supporta la copia di ConferenceData e la creazione di nuove conferenze utilizzando il campo createRequest di conferenceData. Il valore predefinito è 0. I valori accettabili sono compresi tra 0 e 1.
maxAttendees integer Il numero massimo di partecipanti da includere nella risposta. Se il numero di partecipanti è superiore a quello specificato, viene restituito solo il partecipante. Facoltativo.
sendNotifications boolean Deprecato. Utilizza invece sendUpdates.

Indica se inviare notifiche sull'aggiornamento dell'evento (ad es. modifiche alla descrizione e così via). Tieni presente che alcune email potrebbero comunque essere inviate anche se imposti il valore su false. Il valore predefinito è false.
sendUpdates string Gli ospiti che devono ricevere notifiche sull'aggiornamento dell'evento (ad es. modifiche al titolo e così via).

I valori accettati sono:
  • "all": le notifiche vengono inviate a tutti gli invitati.
  • "externalOnly": le notifiche vengono inviate solo agli invitati non Google Calendar.
  • "none": non vengono inviate notifiche. Per le attività di migrazione del calendario, ti consigliamo di utilizzare il metodo Events.import.
supportsAttachments boolean Indica se il client API che esegue l'operazione supporta gli allegati degli eventi. Facoltativo. Il valore predefinito è False.

Autorizzazione

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

Ambito
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/calendar.app.created
https://www.googleapis.com/auth/calendar.events.owned

Per ulteriori informazioni, consulta la pagina Autenticazione e autorizzazione.

Corpo della richiesta

Nel corpo della richiesta, fornisci una risorsa Eventi con le seguenti proprietà:

Nome proprietà Valore Descrizione Note
Proprietà obbligatorie
end nested object L'ora di fine (esclusiva) dell'evento. Per un evento ricorrente, si tratta dell'ora di fine della prima istanza.
start nested object L'ora di inizio (inclusa) dell'evento. Per un evento ricorrente, si tratta dell'ora di inizio della prima istanza.
Proprietà facoltative
anyoneCanAddSelf boolean Indica se chiunque può autoinvitarsi all'evento (opzione non più supportata). Facoltativo. Il valore predefinito è False. scrivibile
attachments[].fileUrl string Link all'URL dell'allegato.

Per aggiungere allegati di file di Google Drive, utilizza lo stesso formato della proprietà alternateLink della risorsa Files nell'API Drive.

Obbligatorio quando aggiungi un allegato.

scrivibile
attendees[] list I partecipanti all'evento. Per saperne di più su come pianificare eventi con altri utenti del calendario, consulta la guida Eventi con invitati. Gli account di servizio devono utilizzare la delegazione dell'autorità a livello di dominio per compilare l'elenco dei partecipanti. scrivibile
attendees[].additionalGuests integer Numero di ospiti aggiuntivi. Facoltativo. Il valore predefinito è 0. scrivibile
attendees[].comment string Il commento alla risposta del partecipante. Facoltativo. scrivibile
attendees[].displayName string Il nome del partecipante, se disponibile. Facoltativo. scrivibile
attendees[].email string L'indirizzo email del partecipante, se disponibile. Questo campo deve essere presente quando aggiungi un partecipante. Deve essere un indirizzo email valido come da RFC5322.

Obbligatorio quando si aggiunge un partecipante.

scrivibile
attendees[].optional boolean Indica se si tratta di un partecipante facoltativo. Facoltativo. Il valore predefinito è False. scrivibile
attendees[].resource boolean Indica se il partecipante è una risorsa. Può essere impostato solo quando il partecipante viene aggiunto all'evento per la prima volta. Le modifiche successive vengono ignorate. Facoltativo. Il valore predefinito è False. scrivibile
attendees[].responseStatus string Lo stato della risposta del partecipante. I valori possibili sono:
  • "needsAction": il partecipante non ha risposto all'invito (opzione consigliata per i nuovi eventi).
  • "declined": il partecipante ha rifiutato l'invito.
  • "tentative": il partecipante ha accettato provvisoriamente l'invito.
  • "accepted": il partecipante ha accettato l'invito.
scrivibile
attendeesOmitted boolean Indica se i partecipanti potrebbero essere stati omessi dalla rappresentazione dell'evento. Quando viene recuperato un evento, questo potrebbe essere dovuto a una limitazione specificata dal parametro di query maxAttendee. Quando aggiorni un evento, puoi utilizzare questo parametro per aggiornare solo la risposta del partecipante. Facoltativo. Il valore predefinito è False. scrivibile
colorId string Il colore dell'evento. Si tratta di un ID che fa riferimento a una voce nella sezione event della definizione dei colori (vedi l' endpoint colors). Facoltativo. scrivibile
conferenceData nested object Le informazioni relative alla conferenza, ad esempio i dettagli di una conferenza di Google Meet. Per creare nuovi dettagli della conferenza, utilizza il campo createRequest. Per mantenere le modifiche, ricordati di impostare il parametro di richiesta conferenceDataVersion su 1 per tutte le richieste di modifica degli eventi. scrivibile
description string Descrizione dell'evento. Può contenere HTML. Facoltativo. scrivibile
end.date date La data, nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. scrivibile
end.dateTime datetime L'ora come valore data/ora combinato (formattato in base allo standard RFC3339). È necessario un offset del fuso orario, a meno che non sia specificato esplicitamente un fuso orario in timeZone. scrivibile
end.timeZone string Il fuso orario in cui è specificata l'ora. (Formattato come nome del database IANA Time Zone, ad esempio "Europe/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e specifica il fuso orario in cui viene espansa la ricorrenza. Per i singoli eventi, questo campo è facoltativo e indica un fuso orario personalizzato per l'inizio/la fine dell'evento. scrivibile
extendedProperties.private object Proprietà private della copia dell'evento visualizzata in questo calendario. scrivibile
extendedProperties.shared object Proprietà condivise tra le copie dell'evento nei calendari di altri partecipanti. scrivibile
focusTimeProperties nested object Dati dell'evento Momento di concentrazione. Da utilizzare se eventType è focusTime. scrivibile
gadget.display string La modalità di visualizzazione del gadget. Deprecato. I valori possibili sono:
  • "icon": il gadget viene visualizzato accanto al titolo dell'evento nella visualizzazione del calendario.
  • "chip": il gadget viene visualizzato quando si fa clic sull'evento.
scrivibile
gadget.height integer L'altezza del gadget in pixel. L'altezza deve essere un numero intero maggiore di 0. Facoltativo. Deprecato. scrivibile
gadget.preferences object Preferenze. scrivibile
gadget.title string Il titolo del gadget. Deprecato. scrivibile
gadget.type string Il tipo di gadget. Deprecato. scrivibile
gadget.width integer La larghezza del gadget in pixel. La larghezza deve essere un numero intero maggiore di 0. Facoltativo. Deprecato. scrivibile
guestsCanInviteOthers boolean Indica se i partecipanti diversi dall'organizzatore possono invitare altre persone all'evento. Facoltativo. Il valore predefinito è True. scrivibile
guestsCanModify boolean Indica se i partecipanti diversi dall'organizzatore possono modificare l'evento. Facoltativo. Il valore predefinito è False. scrivibile
guestsCanSeeOtherGuests boolean Indica se i partecipanti diversi dall'organizzatore possono vedere chi sono i partecipanti all'evento. Facoltativo. Il valore predefinito è True. scrivibile
location string Posizione geografica dell'evento sotto forma di testo libero. Facoltativo. scrivibile
originalStartTime.date date La data, nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. scrivibile
originalStartTime.dateTime datetime L'ora come valore data/ora combinato (formattato in base allo standard RFC3339). È necessario un offset del fuso orario, a meno che non sia specificato esplicitamente un fuso orario in timeZone. scrivibile
originalStartTime.timeZone string Il fuso orario in cui è specificata l'ora. (Formattato come nome del database IANA Time Zone, ad esempio "Europe/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e specifica il fuso orario in cui viene espansa la ricorrenza. Per i singoli eventi, questo campo è facoltativo e indica un fuso orario personalizzato per l'inizio/la fine dell'evento. scrivibile
outOfOfficeProperties nested object Dati sugli eventi fuori sede. Da utilizzare se eventType è outOfOffice. scrivibile
recurrence[] list Elenco di righe RRULE, EXRULE, RDATE ed EXDATE per un evento ricorrente, come specificato in RFC5545. Tieni presente che le righe DTSTART e DTEND non sono consentite in questo campo; le ore di inizio e di fine dell'evento sono specificate nei campi start e end. Questo campo viene omesso per i singoli eventi o le istanze di eventi ricorrenti. scrivibile
reminders.overrides[] list Se l'evento non utilizza i promemoria predefiniti, vengono elencati i promemoria specifici per l'evento oppure, se non sono impostati, viene indicato che non sono impostati promemoria per questo evento. Il numero massimo di promemoria di override è 5. scrivibile
reminders.overrides[].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.

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

Obbligatorio quando aggiungi un promemoria.

scrivibile
reminders.useDefault boolean Indica se i promemoria predefiniti del calendario si applicano all'evento. scrivibile
sequence integer Numero di sequenza secondo iCalendar. scrivibile
source.title string Titolo della sorgente, ad esempio il titolo di una pagina web o l'oggetto di un'email. scrivibile
source.url string URL dell'origine che rimanda a una risorsa. Lo schema dell'URL deve essere HTTP o HTTPS. scrivibile
start.date date La data, nel formato "aaaa-mm-gg", se si tratta di un evento che dura tutto il giorno. scrivibile
start.dateTime datetime L'ora come valore data/ora combinato (formattato in base allo standard RFC3339). È necessario un offset del fuso orario, a meno che non sia specificato esplicitamente un fuso orario in timeZone. scrivibile
start.timeZone string Il fuso orario in cui è specificata l'ora. (Formattato come nome del database IANA Time Zone, ad esempio "Europe/Zurich"). Per gli eventi ricorrenti, questo campo è obbligatorio e specifica il fuso orario in cui viene espansa la ricorrenza. Per i singoli eventi, questo campo è facoltativo e indica un fuso orario personalizzato per l'inizio/la fine dell'evento. scrivibile
status string Stato dell'evento. Facoltativo. I valori possibili sono:
  • "confirmed": l'evento è confermato. Questo è lo stato predefinito.
  • "tentative": l'evento è confermato provvisoriamente.
  • "cancelled": l'evento è annullato (eliminato). Il metodo list restituisce gli eventi annullati solo in caso di sincronizzazione incrementale (quando vengono specificati syncToken o updatedMin) o se il flag showDeleted è impostato su true. Il metodo get li restituisce sempre.

    Uno stato annullato rappresenta due stati diversi a seconda del tipo di evento:

    1. Le eccezioni annullate di un evento ricorrente non annullato indicano che questa istanza non deve più essere presentata all'utente. I client devono memorizzare questi eventi per tutta la durata dell'evento ricorrente principale.

      Per le eccezioni annullate è garantito che i valori dei campi id, recurringEventId e originalStartTime siano compilati. Gli altri campi potrebbero essere vuoti.

    2. Tutti gli altri eventi annullati rappresentano eventi eliminati. I clienti devono rimuovere le copie sincronizzate localmente. Questi eventi annullati alla fine scompariranno, quindi non dare per scontato che saranno disponibili a tempo indeterminato.

      Per gli eventi eliminati è garantito solo il completamento del campo id.

    Nel calendario dell'organizzatore, gli eventi annullati continuano a mostrare i dettagli (riepilogo, luogo e così via) in modo che possano essere ripristinati (annullando l'eliminazione). Analogamente, gli eventi a cui l'utente è stato invitato e che ha rimosso manualmente continuano a fornire dettagli. Tuttavia, le richieste di sincronizzazione incrementale con showDeleted impostato su false non restituiranno questi dettagli.

    Se un evento cambia organizzatore (ad esempio tramite l'operazione sposta) e l'organizzatore originale non è presente nell'elenco dei partecipanti, verrà lasciato un evento annullato in cui è garantito che verrà compilato solo il campo id.

scrivibile
summary string Titolo dell'evento. scrivibile
transparency string Indica se l'evento blocca un periodo di tempo nel calendario. Facoltativo. I valori possibili sono:
  • "opaque": valore predefinito. L'evento blocca il tempo nel calendario. Ciò equivale a impostare Mostrami come su Occupato nell'interfaccia utente di Calendar.
  • "transparent": l'evento non blocca l'orario nel calendario. Questo è equivalente all'impostazione di Mostrami come su Disponibile nell'interfaccia utente di Calendar.
scrivibile
visibility string Visibilità dell'evento. Facoltativo. I valori possibili sono:
  • "default": utilizza la visibilità predefinita per gli eventi nel calendario. Questo è il valore predefinito.
  • "public": l'evento è pubblico e i dettagli sono visibili a tutti i lettori del calendario.
  • "private": l'evento è privato e solo i partecipanti possono visualizzarne i dettagli.
  • "confidential": l'evento è privato. Questo valore viene fornito per motivi di compatibilità.
scrivibile
workingLocationProperties nested object Dati sugli eventi relativi alla sede di lavoro. scrivibile
workingLocationProperties.customLocation object Se presente, specifica che l'utente sta lavorando da una posizione personalizzata. scrivibile
workingLocationProperties.customLocation.label string Un'etichetta aggiuntiva facoltativa per ulteriori informazioni. scrivibile
workingLocationProperties.homeOffice any value Se presente, specifica che l'utente lavora da casa. scrivibile
workingLocationProperties.officeLocation object Se presente, specifica che l'utente lavora da un ufficio. scrivibile
workingLocationProperties.officeLocation.buildingId string Un identificatore facoltativo dell'edificio. Deve fare riferimento a un ID edificio nel database Risorse dell'organizzazione. scrivibile
workingLocationProperties.officeLocation.deskId string Un identificatore facoltativo della scrivania. scrivibile
workingLocationProperties.officeLocation.floorId string Un identificatore di piano facoltativo. scrivibile
workingLocationProperties.officeLocation.floorSectionId string Un identificatore facoltativo della sezione del piano. scrivibile
workingLocationProperties.officeLocation.label string Il nome dell'ufficio visualizzato nei client web e mobile di Calendar. Ti consigliamo di fare riferimento al nome di un edificio nel database Risorse dell'organizzazione. scrivibile
workingLocationProperties.type string Tipo di luogo di lavoro. I valori possibili sono:
  • "homeOffice": l'utente lavora a casa.
  • "officeLocation": l'utente lavora da un ufficio.
  • "customLocation": l'utente sta lavorando da una posizione personalizzata.
Eventuali dettagli vengono specificati in un sottocampo del nome specificato, ma questo campo potrebbe non essere presente se vuoto. Tutti gli altri campi vengono ignorati.

Obbligatorio quando si aggiungono proprietà relative al luogo di lavoro.

scrivibile

Risposta

In caso di esito positivo, questo metodo restituisce una risorsa Events nel corpo della risposta.

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;

// ...

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

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

Utilizza la libreria client Python.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

Utilizza la libreria client PHP.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Ruby

Utilizza la libreria client Ruby.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Prova

Utilizza l'Explorer API di seguito per chiamare questo metodo sui dati in tempo reale e visualizzare la risposta.