Crea un evento
Si tienes acceso de escritura al Calendario de Google del organizador, puedes agregar un evento con el método Events: insert
.
Este método agrega el evento directamente al calendario del organizador, independientemente de su configuración para agregar invitaciones.
Agrega asistentes
Con este método, también puedes agregar asistentes al mismo evento. Para ello, agrega su dirección
de correo electrónico a la propiedad attendees
del evento. Cualquier cambio futuro que realice el organizador en el evento se propaga a los asistentes.
Los asistentes reciben la invitación de la dirección de correo electrónico del organizador. Los usuarios del Calendario de Google reciben la invitación en su correo electrónico o en su calendario, según la configuración de eventos en la configuración del Calendario de Google:
- Si tiene la configuración
From everyone
, el evento se agrega directamente a su calendario. - Si tiene la configuración
Only if the sender is known
, el evento se agrega directamente a su calendario si interactuó con el organizador anteriormente, si el organizador pertenece a la misma organización o si está en sus Contactos de Google. Si no conoce al organizador, puede hacer clic en Agregar al calendario o confirmar su asistencia haciendo clic en Sí o Tal vez en el correo electrónico de la invitación. Luego, el evento se agrega a su calendario. - Si los usuarios tienen el parámetro de configuración
When I respond in email
, no se agregan todas las invitaciones a su calendario hasta que el usuario confirme su asistencia haciendo clic en Sí, Tal vez o No en el correo electrónico de invitación.
Si deseas obtener más información para agregar invitaciones al Calendario de Google, consulta Cómo administrar invitaciones en el Calendario.
Mostrar el evento directamente en los calendarios de los asistentes
Para mostrar un evento directamente en los calendarios de los asistentes del Calendario de Google, puedes configurar la confirmación de asistencia del asistente o importar una copia del evento directamente en su calendario. Para ambos métodos, necesitas acceso de escritura a los calendarios de los asistentes. Si no lo tienes, considera agregar al organizador a los contactos del asistente, lo que podría requerir acceso de escritura a los contactos del asistente.
Establece la respuesta de los asistentes
Para establecer la respuesta de un asistente a un evento, sigue estos pasos:
- Crea el evento en el calendario del organizador del Calendario de Google y agrega asistentes (consulta más arriba).
- Usa el método
Events: update
para configurar la respuesta de RSVP del asistente enaccepted
otentative
. Debes tener acceso de escritura al calendario del asistente. Puede haber una pequeña demora antes de que el evento aparezca en el calendario del asistente. Obtén más información para usar el métodoEvents: update
.
Con este método, se agrega el evento al calendario del asistente, pero es posible que este aún vea el banner en su correo electrónico que indica que la invitación se envió desde una dirección que no conocía.
Importa una copia del evento directamente en el calendario del asistente
Para importar una copia de un evento al calendario de un asistente, sigue estos pasos:
- Si tienes acceso de escritura al Calendario de Google del organizador, importa una copia del evento con el método
Events: import
. - Importa otra copia del mismo evento en el calendario del asistente con
Events: import
. Debes tener acceso de escritura al calendario del asistente. Usa el mismo ID de evento (iCalUID
) para las copias del organizador y del asistente, y asegúrate de especificar al organizador en la copia del asistente.
Con este método, el asistente puede ver el evento en su calendario, pero no recibe un correo electrónico de invitación del Calendario de Google.
Agrega al organizador a los contactos del asistente
Si no tienes las credenciales del asistente, puedes pedirle a este o a su organización que agregue la dirección de correo electrónico del organizador a sus Contactos de Google con anticipación para que se muestre un evento directamente en su calendario. Es posible que haya una leve demora para que un contacto recién creado se aplique.
- Pídele al usuario del Calendario de Google que agregue al organizador a sus contactos de Google.
- Si los asistentes pertenecen a una organización, puedes pedirle al administrador de la organización que agregue direcciones de correo electrónico a los contactos de sus usuarios de forma programática. Pídele al administrador que habilite la delegación de dominio completo, que imite a los usuarios y que use el método
People: createContact
para crear contactos para cada usuario, de modo que se asegure de que las invitaciones futuras de estas direcciones de correo electrónico aparezcan automáticamente en los calendarios de los usuarios. - Si tienes acceso a los contactos del asistente, también puedes agregar la dirección de correo electrónico del organizador a los contactos del asistente con el método
People: createContact
.
Cómo invitar a un usuario desde una dirección de correo electrónico
Si no tienes acceso de escritura al Calendario de Google del organizador o si no quieres exponer su dirección de correo electrónico, usa el protocolo iCalendar (RFC-5545) para invitar a los usuarios por correo electrónico con un archivo .ICS.
Si el asistente es un usuario del Calendario de Google con la configuración Only if the sender
is known
y no interactuó con la dirección ni la registró como conocida, la invitación no se agregará a su calendario hasta que haga clic en Agregar al calendario o confirme su asistencia al evento.
Proporciona un vínculo para que los usuarios agreguen el evento
Como alternativa, si deseas que los usuarios del Calendario de Google agreguen un evento de forma excepcional sin mantenerlo actualizado, puedes proporcionar un vínculo con un evento prepropagado para que el usuario se agregue. Este método crea un evento distinto en el calendario del usuario, que no puedes actualizar, a menos que tengas acceso a su calendario.
Usa la siguiente plantilla de vínculo:
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
Actualiza la siguiente información:
- Fechas y horas de inicio y finalización: Usa el formato ISO 8601. En el ejemplo anterior, reemplaza
20230325T224500Z
y20230326T001500Z
. - Zonas horarias de inicio y finalización: Debe tener el formato de un nombre de la base de datos de zonas horarias de IANA.
Coloca las zonas horarias en los campos
stz
yetz
. - Descripción del evento: Debe estar codificada como URL.
- Ubicación del evento: Debe estar codificada como URL.
- Título del evento: Debe estar codificado como URL.
Ejemplo
Consideremos el ejemplo de la compilación de un servicio de reserva de citas para ayudar a los usuarios a reservar citas con una empresa. Cuando un usuario reserva una cita, quieres que tu servicio agregue un evento a los Calendarios de Google del usuario y de la empresa.
Para brindar la mejor experiencia del usuario, te recomendamos que la empresa otorgue acceso de escritura a su calendario, de modo que puedas agregar el evento directamente al calendario de la empresa (Crear evento) y, luego, invitar al solicitante a ese evento (Agregar asistentes). Para asegurarte de que el usuario que realiza la reserva vea el evento en su calendario y reciba un recordatorio, infórmale que revise sus correos electrónicos y confirme su asistencia Sí al evento inmediatamente después de hacer la reserva. Una vez que confirmen su asistencia al evento, recibirán notificaciones del evento desde el Calendario de Google según su configuración de notificaciones.
Si quieres agregar el evento directamente al calendario del usuario que realiza la reserva, infórmale que debe agregar a sus contactos la dirección de correo electrónico desde la que recibirá la invitación. Como alternativa, solicita a los usuarios que realicen la reserva acceso de escritura a su calendario para confirmar la asistencia de forma programática en su nombre (Cómo configurar la confirmación de asistencia de los asistentes) y enviarles una notificación por correo electrónico sobre la reserva confirmada.
Si la empresa no quiere exponer su dirección de correo electrónico, usa una dirección de correo electrónico específica del usuario para enviar el evento al solicitante por correo electrónico (Invitar a un usuario desde una dirección de correo electrónico).
Propagación de eventos
En el siguiente diagrama, se explican las dinámicas. Primero, Jack crea un evento en
su calendario principal (y, por lo tanto, es propietario de la copia del organizador). Luego, invita al calendario secundario del grupo de clases de violoncelo y a Susana, que tiene la configuración del evento Only if the sender is known
. Las copias para los asistentes se crean en el calendario secundario del grupo de clases de violoncelo y en el calendario de Susana si conoce a Jack; de lo contrario, cuando confirme su asistencia o indique que conoce a Jack. Cuando Susana responde, el cambio de RSVP se vuelve a propagar al organizador, lo que actualiza su copia con la respuesta de Susana. Estos cambios realizados en la copia del evento del organizador se propagan a los demás asistentes.
Propiedades de eventos compartidos
El calendario en el que se crea el evento es el calendario del organizador. Este calendario es propietario de la información del evento compartido, incluido el ID, la hora de inicio y finalización, el resumen y la descripción. Cuando se actualiza esta información en el calendario del organizador, los cambios se propagan a las copias de los asistentes.
Propiedades de eventos privados
No toda la información se comparte entre todas las copias de eventos. Algunas propiedades son privadas, como los recordatorios, colorId
, la transparencia o la propiedad extendedProperties.private
. Estas propiedades están controladas por la configuración del asistente y no por el calendario del organizador.
Los asistentes también pueden cambiar las propiedades compartidas del evento. Sin embargo, estos cambios solo se reflejan en su propia copia y podrían perderse si el organizador realiza un cambio.
El único cambio de evento que se propaga de los asistentes al organizador es el estado de respuesta del asistente, que se almacena en la propiedad attendees[].responseStatus
.