Créer un événement
Si vous disposez d'un accès en écriture à l'agenda Google de l'organisateur, vous pouvez ajouter un événement à l'aide de la méthode Events: insert
.
Cette méthode ajoute l'événement directement à l'agenda de l'organisateur, indépendamment de son paramètre d'ajout d'invitations.
Ajouter des participants
Avec cette méthode, vous pouvez également ajouter des participants au même événement en ajoutant leur adresse e-mail à la propriété attendees
de l'événement. Toute modification ultérieure apportée par l'organisateur à l'événement est propagée auprès des participants.
Les participants reçoivent l'invitation de la part de l'adresse e-mail de l'organisateur. Les utilisateurs de Google Agenda reçoivent l'invitation par e-mail et/ou dans leur agenda, en fonction des paramètres d'événement dans Google Agenda:
- Si le paramètre
From everyone
est défini, l'événement est ajouté directement à son agenda. - Si le paramètre
Only if the sender is known
est défini, l'événement est ajouté directement à son agenda s'il a déjà interagi avec l'organisateur, s'il appartient à la même organisation ou s'il figure dans ses contacts Google. S'il ne connaît pas l'organisateur, il peut cliquer sur Ajouter à l'agenda ou répondre à l'invitation en cliquant sur Oui ou Peut-être dans l'e-mail d'invitation. L'événement est ensuite ajouté à son agenda. - Si le paramètre
When I respond in email
est défini pour les utilisateurs, toutes les invitations ne sont pas ajoutées à leur agenda tant qu'ils n'ont pas répondu en cliquant sur Oui, Peut-être ou Non dans l'e-mail d'invitation.
Pour en savoir plus sur l'ajout d'invitations à Google Agenda, consultez Gérer les invitations dans Agenda.
Afficher l'événement directement dans les agendas des participants
Pour afficher un événement directement dans les agendas des participants Google Agenda pour tous les paramètres qu'ils peuvent avoir, vous pouvez définir leur réponse ou importer une copie de l'événement directement dans leur agenda. Pour les deux méthodes, vous avez besoin d'un accès en écriture aux agendas des participants. Si vous ne l'avez pas, envisagez d'ajouter l'organisateur aux contacts des participants, ce qui peut nécessiter un accès en écriture aux contacts des participants.
Définir la réponse de l'invité
Pour définir la réponse d'un participant à un événement, procédez comme suit:
- Créez l'événement dans l'agenda de l'organisateur Google Agenda et ajoutez les participants (voir ci-dessus).
- Utilisez la méthode
Events: update
pour définir la réponse de l'invité suraccepted
outentative
. Vous devez disposer d'un accès en écriture au calendrier de l'utilisateur. Il peut s'écouler un léger délai avant que l'événement n'apparaisse dans l'agenda des participants. En savoir plus sur l'utilisation de la méthodeEvents: update
Cette méthode ajoute l'événement à l'agenda du participant, mais il est possible que la bannière indiquant que l'invitation a été envoyée depuis une adresse inconnue s'affiche toujours dans son e-mail.
Importer une copie de l'événement directement dans l'agenda du participant
Pour importer une copie d'un événement dans l'agenda d'un participant, procédez comme suit:
- Si vous disposez d'un accès en écriture à l'agenda Google de l'organisateur, importez une copie de l'événement à l'aide de la méthode
Events: import
. - Importez une autre copie du même événement dans l'agenda de l'utilisateur à l'aide de
Events: import
. Vous devez disposer d'un accès en écriture à l'agenda de la personne concernée. Utilisez le même ID d'événement (iCalUID
) pour les copies de l'organisateur et des participants, et veillez à spécifier l'organisateur dans la copie du participant.
Avec cette méthode, le participant peut voir l'événement dans son agenda, mais ne reçoit pas d'e-mail d'invitation de Google Agenda.
Ajouter l'organisateur aux contacts de l'participant
Si vous ne disposez pas des identifiants de l'utilisateur participant, vous pouvez lui demander, ou à son organisation, d'ajouter l'adresse e-mail de l'organisateur à ses contacts Google à l'avance pour afficher un événement directement dans son agenda. Il peut s'écouler un certain temps avant qu'un contact nouvellement créé ne soit pris en compte.
- Demandez à l'utilisateur de Google Agenda d'ajouter l'organisateur à ses contacts Google.
- Si les participants appartiennent à une organisation, vous pouvez demander à l'administrateur de l'organisation d'ajouter de manière programmatique des adresses e-mail aux contacts de ses utilisateurs. Demandez à l'administrateur d'activer la délégation au niveau du domaine, d'usurper l'identité des utilisateurs et d'utiliser la méthode
People: createContact
pour créer des contacts pour chaque utilisateur, afin de s'assurer que les futures invitations provenant de ces adresses e-mail s'affichent automatiquement dans les agendas de leurs utilisateurs. - Si vous avez accès aux contacts de l'utilisateur participant, vous pouvez également ajouter l'adresse e-mail de l'organisateur à ses contacts à l'aide de la méthode
People: createContact
.
Inviter un utilisateur à partir d'une adresse e-mail
Si vous n'avez pas d'accès en écriture à l'agenda Google de l'organisateur ou si vous ne souhaitez pas divulguer son adresse e-mail, utilisez le protocole iCalendar (RFC-5545) pour inviter les utilisateurs par e-mail à l'aide d'un fichier .ICS.
Si le participant est un utilisateur Google Agenda avec le paramètre Only if the sender
is known
et qu'il n'a jamais interagi avec l'adresse ou ne l'a jamais enregistrée comme connue, l'invitation n'est pas ajoutée à son agenda tant qu'il n'a pas cliqué sur Ajouter à l'agenda ou qu'il n'a pas répondu à l'invitation.
Fournir un lien permettant aux utilisateurs d'ajouter l'événement
Si vous souhaitez que les utilisateurs de Google Agenda puissent ajouter facilement un événement ponctuel sans le mettre à jour, vous pouvez leur fournir un lien vers un événement prérempli qu'ils pourront ajouter eux-mêmes. Cette méthode crée un événement distinct dans l'agenda de l'utilisateur, que vous ne pouvez pas modifier sauf si vous avez accès à son agenda.
Utilisez le modèle de lien suivant:
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
en mettant à jour les informations suivantes:
- Dates et heures de début et de fin: utilisez le format ISO 8601. Dans l'exemple ci-dessus, remplacez
20230325T224500Z
et20230326T001500Z
. - Fuseaux horaires de début et de fin: formatez-les au format d'un nom de base de données des fuseaux horaires IANA.
Placez les fuseaux horaires dans les champs
stz
etetz
. - Description de l'événement: doit être encodé au format URL.
- Lieu de l'événement: doit être encodé au format URL.
- Titre de l'événement: doit être encodé au format URL.
Exemple
Prenons l'exemple d'un service de prise de rendez-vous pour aider les utilisateurs à prendre rendez-vous avec une entreprise. Lorsqu'un utilisateur prend rendez-vous, vous souhaitez que votre service ajoute un événement aux agendas Google Agenda de la personne qui a pris rendez-vous et de l'entreprise.
Pour une expérience utilisateur optimale, nous vous recommandons de demander à l'établissement de vous accorder l'accès en écriture à son agenda afin que vous puissiez ajouter l'événement directement à son agenda (Créer un événement) et inviter le client à cet événement (Ajouter des participants). Pour vous assurer que le client voit l'événement dans son agenda et qu'il en reçoit un rappel, demandez-lui de consulter ses e-mails et de répondre Oui à l'événement immédiatement après avoir effectué une réservation. Une fois qu'il a répondu à l'invitation, il reçoit des notifications d'événements de Google Agenda en fonction de ses paramètres de notification.
Si vous souhaitez ajouter l'événement directement à l'agenda du client, demandez-lui d'ajouter à ses contacts l'adresse e-mail à laquelle il recevra l'invitation. Vous pouvez également demander aux personnes qui effectuent la réservation d'autoriser l'écriture dans leur agenda pour répondre à leur place de manière programmatique (Définir la réponse de l'invité) et leur envoyer une notification par e-mail concernant la réservation confirmée.
Si l'établissement ne souhaite pas divulguer son adresse e-mail, utilisez une adresse e-mail spécifique à l'utilisateur pour envoyer l'événement au client par e-mail (Inviter un utilisateur à partir d'une adresse e-mail).
Propagation d'événements
Le diagramme suivant explique la dynamique. Jack crée d'abord un événement dans son agenda principal (et est donc propriétaire de la copie de l'organisateur). Il invite ensuite le calendrier secondaire du groupe de cours de violoncelle et Susan, qui a le paramètre d'événement Only if the sender is known
. Des copies des participants sont créées dans l'agenda secondaire du groupe de cours de violoncelle et dans l'agenda de Susan si elle connaît Jack. Sinon, elles sont créées lorsqu'elle répond "Oui" ou indique qu'elle connaît Jack. Lorsque Susan répond, la modification de la réponse est transmise à l'organisateur, qui met à jour sa copie avec la réponse de Susan. Ces modifications apportées à la copie de l'événement de l'organisateur sont ensuite propagées aux autres participants.
Propriétés d'événement partagés
L'agenda dans lequel l'événement est créé est l'agenda de l'organisateur. Cet agenda est propriétaire des informations sur l'événement partagé, y compris l'ID, l'heure de début et de fin, le résumé et la description. Lorsque ces informations sont mises à jour dans le calendrier de l'organisateur, les modifications sont propagées aux copies des participants.
Propriétés d'événement privé
Toutes les informations ne sont pas partagées entre toutes les copies d'événements. Certaines propriétés sont privées, comme les rappels, colorId
, la transparence ou la propriété extendedProperties.private
. Ces propriétés sont contrôlées par les paramètres des participants et non par l'agenda de l'organisateur.
Les participants peuvent également modifier les propriétés partagées de l'événement. Toutefois, ces modifications ne sont reflétées que dans leur propre copie et peuvent être perdues si l'organisateur apporte une modification.
La seule modification d'événement propagée des participants à l'organisateur est l'état de réponse du participant, stocké dans la propriété attendees[].responseStatus
.