Crea un evento
Se hai accesso in scrittura al Google Calendar dell'organizzatore, puoi aggiungere un evento utilizzando il metodo Events: insert
.
Questo metodo aggiunge l'evento direttamente al calendario dell'organizzatore, indipendentemente dall'impostazione per l'aggiunta degli inviti.
Aggiungere partecipanti
Con questo metodo, puoi anche aggiungere partecipanti allo stesso evento aggiungendo il loro
indirizzo email alla proprietà attendees
dell'evento. Eventuali modifiche future apportate all'evento dall'organizzatore vengono
propagate agli invitati.
I partecipanti ricevono l'invito dall'indirizzo email dell'organizzatore. Gli utenti di Google Calendar ricevono l'invito nella loro email e/o nel loro calendario, a seconda delle impostazioni degli eventi nelle impostazioni di Google Calendar:
- Se hanno l'impostazione
From everyone
, l'evento viene aggiunto direttamente al loro calendario - Se l'impostazione
Only if the sender is known
è attiva, l'evento viene aggiunto direttamente al calendario se l'utente ha interagito in precedenza con l'organizzatore, se l'organizzatore fa parte della stessa organizzazione o se è presente nei suoi Contatti Google. Se l'organizzatore non è noto, può fare clic su Aggiungi al calendario o rispondere facendo clic su Sì o Forse nell'email di invito. L'evento viene aggiunto al calendario. - Se gli utenti hanno attivato l'impostazione
When I respond in email
, tutti gli inviti non vengono aggiunti al calendario finché l'utente non risponde facendo clic su Sì, Forse o No nell'email di invito.
Per saperne di più su come vengono aggiunti gli inviti a Google Calendar, vedi Gestire gli inviti in Calendar.
Visualizzare l'evento direttamente nei calendari dei partecipanti
Per visualizzare un evento direttamente nei calendari dei partecipanti di Google Calendar per qualsiasi impostazione che il partecipante potrebbe avere, puoi impostare la risposta "Parteciperai?" del partecipante o importare una copia dell'evento direttamente nel calendario del partecipante. Per entrambi i metodi, devi disporre dell'accesso in scrittura ai calendari dei partecipanti; in caso contrario, valuta la possibilità di aggiungere l'organizzatore ai contatti del partecipante, il che potrebbe richiedere l'accesso in scrittura ai contatti del partecipante.
Impostare la risposta del partecipante
Per impostare la risposta di un partecipante a un evento:
- Crea l'evento nel calendario dell'organizzatore di Google Calendar e aggiungi i partecipanti (vedi sopra).
- Utilizza il metodo
Events: update
per impostare la risposta all'invito del partecipante suaccepted
otentative
. Devi disporre dell'accesso in scrittura al calendario del partecipante. Potrebbe verificarsi un leggero ritardo prima che l'evento venga visualizzato nel calendario del partecipante. Scopri di più su come utilizzare il metodoEvents: update
.
Questo metodo aggiunge l'evento al calendario del partecipante, ma quest'ultimo potrebbe continuare a visualizzare il banner nell'email che indica che l'invito è stato inviato da un indirizzo sconosciuto in precedenza.
Importare una copia dell'evento direttamente nel calendario del partecipante
Per importare una copia di un evento nel calendario di un partecipante, segui questi passaggi:
- Se hai accesso in scrittura al Google Calendar dell'organizzatore, importa una copia
dell'evento utilizzando il
metodo
Events: import
. - Importa un'altra copia dello stesso evento nel calendario del partecipante utilizzando
Events: import
. Devi disporre dell'accesso in scrittura al calendario del partecipante. Utilizza lo stesso ID evento (iCalUID
) per le copie dell'organizzatore e del partecipante e assicurati di specificare l'organizzatore nella copia del partecipante.
Con questo metodo, il partecipante può vedere l'evento nel suo calendario, ma non riceve un'email di invito da Google Calendar.
Aggiungere l'organizzatore ai contatti del partecipante
Se non disponi delle credenziali del partecipante, puoi chiedere al partecipante o alla sua organizzazione di aggiungere l'indirizzo email dell'organizzatore ai propri Contatti Google in anticipo per visualizzare un evento direttamente nel calendario. Potrebbe esserci un leggero ritardo prima che un contatto appena creato diventi effettivo.
- Chiedi all'utente di Google Calendar di aggiungere l'organizzatore ai propri contatti Google.
- Se i partecipanti appartengono a un'organizzazione, puoi chiedere all'amministratore dell'organizzazione di aggiungere in modo programmatico gli indirizzi email ai contatti degli utenti. Chiedi all'amministratore di attivare la
delega a livello di dominio,
di rappresentare gli utenti e di utilizzare il
metodo
People: createContact
per creare contatti per ogni utente, in modo che i futuri inviti da questi indirizzi email vengano visualizzati automaticamente nei calendari degli utenti. - Se hai accesso ai contatti del partecipante, puoi anche aggiungere l'indirizzo email dell'organizzatore ai contatti del partecipante utilizzando il metodo
People: createContact
.
Invitare un utente da un indirizzo email
Se non disponi dell'accesso in scrittura al Google Calendar dell'organizzatore o se non vuoi mostrare l'indirizzo email dell'organizzatore, utilizza il protocollo iCalendar (RFC-5545) per invitare gli utenti con email utilizzando un file .ICS.
Se l'invitato è un utente di Google Calendar con l'impostazione Only if the sender
is known
e non ha interagito in precedenza con l'indirizzo o non lo ha registrato come
noto, l'invito non viene aggiunto al suo calendario finché non fa clic su
Aggiungi al calendario o non conferma la sua partecipazione all'evento.
Fornisci un link per consentire agli utenti di aggiungere l'evento
In alternativa, se vuoi semplificare l'aggiunta di un evento una tantum per gli utenti di Google Calendar senza mantenerlo aggiornato, puoi fornire un link con un evento precompilato che l'utente può aggiungere. Questo metodo crea un evento distinto nel calendario dell'utente, che non puoi aggiornare a meno che tu non abbia accesso al calendario dell'utente.
Utilizza il seguente modello di link:
https://calendar.google.com/calendar/r/eventedit?action=TEMPLATE&dates=20230325T224500Z%2F20230326T001500Z&stz=Europe/Brussels&etz=Europe/Brussels&details=EVENT_DESCRIPTION_HERE&location=EVENT_LOCATION_HERE&text=EVENT_TITLE_HERE
aggiornando le seguenti informazioni:
- Data e ora di inizio e fine: utilizza il formato ISO 8601. Nell'esempio riportato sopra,
sostituisci
20230325T224500Z
e20230326T001500Z
. - Fusi orari di inizio e fine: formattali come nome del database dei fusi orari IANA.
Inserisci i fusi orari nei campi
stz
eetz
. - Descrizione evento: deve essere codificata come URL.
- Luogo dell'evento: deve essere codificato come URL.
- Titolo dell'evento: deve essere codificato come URL.
Esempio
Prendiamo in considerazione l'esempio della creazione di un servizio di prenotazione di appuntamenti per aiutare gli utenti a prenotare appuntamenti con un'attività. Quando un utente prenota un appuntamento, vuoi che il tuo servizio aggiunga un evento ai calendari Google del prenotante e dell'attività.
Per un'esperienza utente ottimale, consigliamo all'attività di concedere l'accesso in scrittura al proprio calendario, in modo che tu possa aggiungere l'evento direttamente al calendario dell'attività (Crea evento) e invitare la persona che ha effettuato la prenotazione all'evento (Aggiungi partecipanti). Per assicurarti che la persona che ha effettuato la prenotazione veda l'evento nel suo calendario e riceva un promemoria, invitala a controllare le email e a rispondere Sì all'evento subito dopo aver effettuato la prenotazione. Una volta che hanno risposto all'invito all'evento, ricevono notifiche degli eventi da Google Calendar in base alle impostazioni di notifica.
Se vuoi aggiungere l'evento direttamente al calendario del prenotatore, chiedi ai prenotatori di aggiungere ai propri contatti l'indirizzo email da cui riceveranno l'invito. In alternativa, chiedi agli autori della prenotazione l'accesso in scrittura al loro calendario per rispondere all'invito per loro conto (Imposta la risposta del partecipante) e inviagli una notifica via email relativa alla prenotazione confermata.
Se l'attività non vuole mostrare il proprio indirizzo email, utilizza un indirizzo email specifico per l'utente per inviare l'evento al responsabile delle prenotazioni tramite email (Invita utente da un indirizzo email).
Propagazione degli eventi
Il seguente diagramma spiega le dinamiche. Innanzitutto, Jack crea un evento sul
suo calendario principale (e quindi possiede la copia dell'organizzatore). Poi invita il calendario secondario del gruppo di lezioni di violoncello e Susan, che ha l'impostazione dell'evento
Only if the sender is known
. Le copie dei partecipanti vengono create nel calendario secondario del gruppo di lezioni di violoncello e nel calendario di Susan se conosce Jack, altrimenti quando risponde all'invito o indica di conoscere Jack. Quando Susan risponde, la modifica della conferma
viene propagata all'organizzatore, aggiornando la sua copia con
la risposta di Susan. Queste modifiche apportate alla copia dell'evento dell'organizzatore vengono poi
propagate agli altri partecipanti.
Proprietà evento condiviso
Il calendario in cui viene creato l'evento è il calendario dell'organizzatore. Questo calendario è proprietario delle informazioni sull'evento condiviso, tra cui ID, ora di inizio e fine, riepilogo e descrizione. Quando queste informazioni vengono aggiornate nel calendario dell'organizzatore, le modifiche vengono propagate alle copie dei partecipanti.
Proprietà evento privato
Non tutte le informazioni vengono condivise tra tutte le copie dell'evento. Alcune proprietà sono
private, come i promemoria, colorId
, la trasparenza o la
proprietà extendedProperties.private
. Queste proprietà sono controllate dalle impostazioni del partecipante e non dal calendario dell'organizzatore.
I partecipanti possono anche modificare le proprietà condivise dell'evento. Tuttavia, queste modifiche vengono riportate solo sulla propria copia e potrebbero andare perse se l'organizzatore apporta una modifica.
L'unica modifica all'evento propagata dagli invitati all'organizzatore è
lo stato della risposta dell'invitato, memorizzato nella
proprietà
attendees[].responseStatus
.