Invitare utenti a un evento

Crea un evento

Se disponi dell'accesso in scrittura a 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 di aggiunta degli inviti.

Aggiungi partecipanti

Con questo metodo, puoi anche aggiungere i partecipanti allo stesso evento aggiungendo il loro indirizzo email alla proprietà attendees dell'evento. Eventuali modifiche future apportate dall'organizzatore all'evento vengono propagate ai partecipanti.

I partecipanti ricevono l'invito dall'indirizzo email dell'organizzatore. Gli utenti di Google Calendar ricevono l'invito via email e/o nel calendario, a seconda delle impostazioni degli eventi nelle impostazioni di Google Calendar:

  • Se ha l'impostazione From everyone, l'evento viene aggiunto direttamente al suo calendario
  • Se ha l'impostazione Only if the sender is known, l'evento viene aggiunto direttamente al suo calendario se ha interagito in precedenza con l'organizzatore, se l'organizzatore fa parte della stessa organizzazione o se l'organizzatore è tra i suoi contatti Google. Se non conosce l'organizzatore, può fare clic su Aggiungi al calendario o rispondere all'invito facendo clic su o Forse nell'email di invito. L'evento viene poi aggiunto al suo calendario.
  • Se gli utenti hanno attivato l'impostazione When I respond in email, tutti gli inviti non vengono aggiunti al loro calendario finché l'utente non risponde facendo clic su , 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.

Mostrare l'evento direttamente nei calendari dei partecipanti

Per visualizzare un evento direttamente nei calendari dei partecipanti a Google Calendar per qualsiasi impostazione che il partecipante potrebbe avere, puoi impostare la risposta 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, ti consigliamo di aggiungere l'organizzatore ai contatti dei partecipanti, il che potrebbe richiedere l'accesso in scrittura ai contatti dei partecipanti.

Impostare la risposta di un partecipante

Per impostare la risposta di un partecipante a un evento:

  1. Crea l'evento nel calendario dell'organizzatore di Google Calendar e aggiungi i partecipanti (vedi sopra).
  2. Utilizza il metodo Events: update per impostare la risposta di partecipazione del partecipante su accepted o tentative. Devi disporre dell'accesso in scrittura al calendario del partecipante. Potrebbe verificarsi un lieve ritardo prima che l'evento venga visualizzato nel calendario del partecipante. Scopri di più su come utilizzare il metodo Events: update.

Questo metodo aggiunge l'evento al calendario del partecipante, ma quest'ultimo potrebbe ancora vedere il banner nell'email che indica che l'invito è stato inviato da un indirizzo precedentemente sconosciuto.

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:

  1. Se disponi dell'accesso in scrittura a Google Calendar dell'organizzatore, importa una copia dell'evento utilizzando il metodo Events: import.
  2. 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 proprio calendario, ma non riceve un'email di invito da Google Calendar.

Aggiungere l'organizzatore ai contatti del partecipante

Se non disponi delle credenziali dei partecipanti, puoi chiedere al partecipante o alla sua organizzazione di aggiungere in anticipo l'indirizzo email dell'organizzatore ai propri contatti Google per visualizzare un evento direttamente nel loro calendario. L'applicazione della modifica potrebbe non essere immediata.

  • Chiedi all'utente di Google Calendar di aggiungere l'organizzatore ai suoi contatti Google.
  • Se i partecipanti appartengono a un'organizzazione, puoi chiedere all'amministratore di aggiungere tramite programmazione gli indirizzi email ai contatti degli utenti. Chiedi all'amministratore di attivare la delega a livello di dominio, di rubare l'identità degli utenti e di utilizzare il metodo People: createContact per creare contatti per ogni utente, in modo che i futuri inviti provenienti da questi indirizzi email vengano visualizzati automaticamente nei calendari degli utenti.
  • Se hai accesso ai contatti dei partecipanti, puoi anche aggiungere l'indirizzo email dell'organizzatore ai contatti dei partecipanti utilizzando il metodo People: createContact.

Invitare un utente da un indirizzo email

Se non disponi dell'accesso in scrittura a Google Calendar dell'organizzatore o se non vuoi esporre il suo indirizzo email, utilizza il protocollo iCalendar (RFC-5545) per invitare gli utenti via email utilizzando un file .ICS.

Se il partecipante è un utente di Google Calendar con l'impostazione Only if the sender is knowne non ha interagito in precedenza con l'indirizzo o non lo ha registrato come conosciuto, l'invito non viene aggiunto al suo calendario finché non fa clic su Aggiungi al calendario o conferma la partecipazione all'evento.

In alternativa, se vuoi semplificare per gli utenti di Google Calendar l'aggiunta di un singolo evento senza doverlo aggiornare, puoi fornire un link con un evento precompilato che l'utente può aggiungere autonomamente. Questo metodo crea un evento distinto nel calendario dell'utente, che non puoi aggiornare a meno che 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:

  • Date e ore di inizio e di fine: utilizza il formato ISO 8601. Nell'esempio riportato sopra, sostituisci 20230325T224500Z e 20230326T001500Z.
  • Fusi orari di inizio e fine: formatta come nome del database dei fusi orari IANA. Inserisci i fusi orari nei campi stz e etz.
  • Descrizione evento: deve essere codificata come URL.
  • Località evento: deve essere codificata come URL.
  • Titolo evento: deve essere codificato come URL.

Esempio

Prendiamo 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 prenotatore e dell'attività.

Per un'esperienza utente ottimale, consigliamo all'attività di concedere l'accesso in scrittura al proprio calendario, in modo da poter aggiungere l'evento direttamente al suo calendario (Crea evento) e invitare il prenotatore all'evento (Aggiungi partecipanti). Per assicurarti che il cliente veda l'evento nel suo calendario e riceva un promemoria, informalo di controllare le sue email e di rispondere all'evento immediatamente dopo aver effettuato una prenotazione. Una volta che hanno risposto all'invito all'evento, ricevono notifiche degli eventi da Google Calendar in base alle loro impostazioni di notifica.

Se vuoi aggiungere l'evento direttamente al calendario del prenotatore, invitalo a aggiungere ai suoi contatti l'indirizzo email da cui riceverà l'invito. In alternativa, chiedi ai prenotatori l'accesso in scrittura al loro calendario per confermare la partecipazione per loro conto in modo programmatico (Impostare la risposta di un partecipante) e invia loro una notifica via email sulla prenotazione confermata.

Se l'attività non vuole esporre il proprio indirizzo email, utilizza un indirizzo email specifico per l'utente per inviare l'evento al prenotante via email (Invita utente da un indirizzo email).

Propagazione degli eventi

Il seguente diagramma spiega la dinamica. Innanzitutto, Jack crea un evento nel 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'eventoOnly if the sender is known. Le copie per i 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 risposta viene propagata all'organizzatore, che aggiorna la propria copia con la risposta di Susan. Queste modifiche apportate alla copia dell'evento dell'organizzatore vengono poi propagate agli altri partecipanti.

Diagramma che mostra la dinamica di eventi/partecipanti

Proprietà evento condiviso

Il calendario in cui viene creato l'evento è il calendario dell'organizzatore. Questo calendario è proprietario delle informazioni sugli eventi condivisi, tra cui ID, ora di inizio e di 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, ad esempio promemoria, colorId, 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 applicate solo alla propria copia e potrebbero andare perse se l'organizzatore apporta una modifica.

L'unica modifica dell'evento che viene propagata dai partecipanti all'organizzatore è lo stato di risposta del partecipante, memorizzato nella proprietà attendees[].responseStatus.