Cette page explique la propriété eventType et les spécifications des types d'événements disponibles dans l'API Google Calendar.
Google Agenda permet aux utilisateurs de créer des événements génériques, ainsi que des événements conçus pour des cas d'utilisation spécifiques et avec des propriétés personnalisées.
Le type d'événement peut être découvert aux emplacements suivants dans l'API :
- Tous les événements sont renvoyés avec un
eventType. eventTypedoit être défini lors de la création ou de la mise à jour d'une ressource d'événement. S'il n'est pas défini,'default'type sera utilisé.eventTypespeut être spécifié dans un appelEvents:listpour lister les événements de types spécifiques. Si aucun type n'est spécifié, tous les types d'événements sont renvoyés.eventTypespeut être spécifié dans unEvents:watchappel pour s'abonner aux mises à jour des événements de types spécifiques. Si aucun type n'est spécifié, la requête entraîne l'abonnement à tous les types d'événements.
Événement par défaut
Les événements de type default sont créés et utilisés comme l'une des principales ressources de l'API Google Calendar. Ils sont compatibles avec un large éventail de
propriétés
qui peuvent être utilisées pour personnaliser davantage l'événement.
Consultez Créer des événements pour commencer à utiliser les événements Google Agenda.
Anniversaire
Les anniversaires sont des événements spéciaux qui durent toute la journée et se répètent chaque année.
Les utilisateurs peuvent créer manuellement des événements d'anniversaire dans Google Agenda. De plus, les informations sur les anniversaires sont synchronisées avec Google Agenda lorsque les utilisateurs ajoutent une personne et incluent sa date d'anniversaire et d'autres dates importantes dans Google Contacts. L'anniversaire des utilisateurs est également synchronisé avec Google Agenda à partir de leur profil de compte Google.
L'API Google Calendar est compatible avec les méthodes get,
instances et
list pour lire les événements d'anniversaire. eventTypes peut être
défini sur 'birthday' pour ne lister que les événements d'anniversaire. Si aucun type n'est spécifié, les anniversaires sont listés avec tous les autres types d'événements.
Dans les objets Event renvoyés, inspectez le
birthdayProperties
champ pour en savoir plus sur cet événement spécial. birthdayProperties comporte les champs suivants :
type: type de cet événement spécial (anniversaire, anniversaire de mariage ou autre date importante).customTypeName: libellé spécifié par l'utilisateur pour cet événement spécial. Ce champ est renseigné sitypeest défini sur'custom'.contact: nom de ressource du contact auquel cet événement spécial est associé, le cas échéant. Ce champ est au format'people/c12345'et peut être utilisé pour récupérer les coordonnées du contact à partir de l'API People.
L'API permet de créer des événements d'anniversaire à l'aide de la
insert méthode avec les
spécifications suivantes :
eventTypeest défini sur'birthday'.startetendchamps doivent définir un événement qui dure toute la journée et s'étend sur exactement une journée.visibilityvaleur du champ doit être'private'.transparencyLa valeur du champ doit être'transparent'.- Doit avoir une récurrence annuelle, ce qui signifie que le
recurrencechamp doit être'RRULE:FREQ=YEARLY'. Les événements d'anniversaire qui ont lieu le 29 février doivent avoir la règle de récurrence suivante :'RRULE:FREQ=YEARLY;BYMONTH=2;BYMONTHDAY=-1'. - Peut avoir un
colorId,summaryetreminders. - Peut avoir
birthdayProperties. Si ce champ est spécifié,typedoit être'birthday', etcustomTypeNameetcontactdoivent être vides. - Ne peut pas avoir d'autres propriétés d'événement.
L'API permet de mettre à jour les
colorId,
summary et
reminders des événements d'anniversaire
à l'aide des méthodes update
et patch.
start et
end champs peuvent également être mis à jour
pour modifier la date de l'événement. Dans ce cas, les nouvelles valeurs doivent définir un événement qui dure toute la journée et s'étend sur exactement une journée. Les détails de l'heure d'un événement d'anniversaire ne peuvent pas être
mis à jour si l'événement est associé à un
contact, ou
si son type est
'self'.
L'API Google Calendar ne permet pas de créer des événements d'anniversaire avec des
birthdayProperties personnalisées ni de
mettre à jour ces propriétés. Les dates importantes peuvent être modifiées avec l'
API People, et les modifications sont synchronisées avec
Google Agenda. De même, les utilisateurs peuvent modifier leur propre anniversaire dans leur
profil de compte Google, et il est synchronisé
avec Google Agenda.
Les requêtes qui tentent de créer ou de mettre à jour un anniversaire de manière non compatible échouent. Dans ce cas, inspectez le message d'erreur pour identifier le problème.
L'API est compatible avec import opération
pour les événements d'anniversaire. Toutefois, l'événement est importé en tant qu'événement par défaut. En
d'autres termes, le eventType sera
'default'.
L'API est compatible avec la méthode watch
pour s'abonner aux modifications des événements d'anniversaire dans Google Agenda.
eventTypes peut être défini sur
'birthday' pour s'abonner aux mises à jour des événements d'anniversaire. Si aucun type n'est spécifié, tous les types d'événements, y compris les anniversaires, sont abonnés.
Les événements d'anniversaire peuvent être supprimés à l'aide de la
delete méthode de l'
API Google Calendar. La suppression d'un événement d'anniversaire de Google Agenda n'affecte pas les données de Google Contacts ni leprofil de compte Google.
Il n'est pas possible de modifier l'organisateur d'un événement d'anniversaire à l'aide des
move ou
update méthodes.
Événements ajoutés à partir de Gmail
Les événements générés automatiquement à partir de Gmail
ont le type d'événement 'fromGmail'.
L'API Google Calendar ne permet pas de créer ce type d'événement à l'aide de la
insert méthode.
L'API permet de mettre à jour les propriétés étendues
colorId,
reminders,
visibility,
transparency,
status,
attendees,
private
et shared
à l'aide des méthodes update
et patch.
L'API est compatible avec les méthodes get et
list pour lire les événements ajoutés à partir de
Gmail. eventTypes peut être
défini sur 'fromGmail' pour ne lister que les événements générés à partir de Gmail. Si aucun type n'est spécifié, les événements ajoutés à partir de Gmail sont listés avec tous les autres types d'événements.
L'API est compatible avec la watch méthode
pour s'abonner aux modifications des événements ajoutés à partir de Gmail dans Google Agenda. Si aucun type n'est
spécifié, tous les types d'événements, y compris 'fromGmail', sont abonnés.
Les événements ajoutés à partir de Gmail peuvent être supprimés à l'aide de la
delete méthode de l'
API Google Calendar.
Il n'est pas possible de modifier l'organisateur d'un événement ajouté à partir de Gmail à l'aide des méthodes
move ou
update.
Moments de concentration, absences du bureau et lieu de travail
L'API Google Calendar peut être utilisée pour créer et gérer des événements qui indiquent l'état des utilisateurs de Google Agenda.
Ces fonctionnalités ne sont disponibles que dans les agendas principaux et pour certains utilisateurs de Google Agenda. Pour en savoir plus, consultez Gérer les événements de moments de concentration, d'absences du bureau et de lieu de travail.
Explorer les types d'événements dans Google Apps Script
Google Apps Script est un langage de script cloud basé sur JavaScript qui vous permet de créer des applications professionnelles intégrables à Google Workspace. Les scripts sont développés dans un éditeur de code basé sur un navigateur, et ils sont stockés et exécutés sur les serveurs de Google. Consultez également Démarrage rapide de Google Apps Script pour commencer à utiliser Apps Script afin d'envoyer des requêtes à l'API Google Calendar.
Les instructions suivantes décrivent comment lire et gérer des événements à l'aide de l' API Google Calendar en tant que service avancé dans Google Apps Script. Pour obtenir la liste complète des ressources et des méthodes de l'API Google Calendar, consultez la documentation de référence.
Créer et configurer le script
- Créez un script en accédant à script.google.com/create.
- Dans le volet de gauche, à côté de Services, cliquez sur Ajouter un service .
- Sélectionnez API Google Calendar , puis cliquez sur Ajouter.
- Une fois l'API activée, elle s'affiche dans le volet de gauche. Les méthodes et classes disponibles dans l'API peuvent être listées à l'aide du mot clé Calendar dans l'éditeur.
(Facultatif) Mettre à jour le projet Google Cloud
Chaque projet Google Apps Script est associé à un projet Google Cloud. Votre script peut utiliser le projet par défaut que Google Apps Script crée automatiquement. Si vous souhaitez utiliser un projet Google Cloud personnalisé, consultez Passer à un autre projet Cloud standard. Après avoir défini le projet Google Cloud, sélectionnez Éditeur sur la gauche pour revenir à l' éditeur de code.
Ajouter du code au script
L'exemple de code suivant montre comment lister, lire et créer des événements avec différentes valeurs eventType.
Collez le code suivant dans l'éditeur de code.
const CALENDAR_ID = 'CALENDAR_ID' || 'primary'; /** Lists default events. */ function listDefaultEvents() { listEvents('default'); } /** Lists birthday events. */ function listBirthdays() { listEvents('birthday'); } /** Lists events from Gmail. */ function listEventsFromGmail() { listEvents('fromGmail'); } /** * Lists events with the given event type. If no type is specified, lists all events. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/list */ function listEvents(eventType = undefined) { // Query parameters for the list request. const optionalArgs = { eventTypes: eventType ? [eventType] : undefined, singleEvents: true, timeMax: '2024-07-30T00:00:00+01:00', timeMin: '2024-07-29T00:00:00+01:00', } try { var response = Calendar.Events.list(CALENDAR_ID, optionalArgs); response.items.forEach(event => console.log(event)); } catch (exception) { console.log(exception.message); } } /** * Reads the event with the given eventId. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/get */ function readEvent() { try { var response = Calendar.Events.get(CALENDAR_ID, 'EVENT_ID'); console.log(response); } catch (exception) { console.log(exception.message); } } /** Creates a default event. */ function createDefaultEvent() { const event = { start: { dateTime: '2024-07-30T10:30:00+01:00'}, end: { dateTime: '2024-07-30T12:30:00+01:00'}, description: 'Created from Apps Script.', eventType: 'default', summary: 'Sample event', } createEvent(event); } /** Creates a birthday event. */ function createBirthday() { const event = { start: { date: '2024-01-29' }, end: { date: '2024-01-30' }, eventType: 'birthday', recurrence: ["RRULE:FREQ=YEARLY"], summary: "My friend's birthday", transparency: "transparent", visibility: "private", } createEvent(event); } /** * Creates a Calendar event. * See https://developers.google.com/workspace/calendar/api/v3/reference/events/insert */ function createEvent(event) { try { var response = Calendar.Events.insert(event, CALENDAR_ID); console.log(response); } catch (exception) { console.log(exception.message); } }Remplacez les éléments suivants :
CALENDAR_ID: adresse e-mail de l'agenda dans lequel récupérer et créer des événements. Cette constante est initialement définie sur'primary', qui est un mot clé permettant d'accéder à l'agenda principal de l' utilisateur connecté. La modification de cette valeur vous permet de lire les événements dans les agendas d'autres utilisateurs auxquels vous avez accès.EVENT_ID: ID de l'événement. Vous pouvez appeler les Events:list pour récupérer les ID d'événement.
Exécuter l'exemple de code
- Au-dessus de l'éditeur de code, sélectionnez la fonction à exécuter dans le menu déroulant, puis cliquez sur Exécuter.
- Lors de la première exécution, vous êtes invité à autoriser l'accès. Examinez et autorisez Apps Script à accéder à votre agenda.
- Vous pouvez inspecter les résultats de l'exécution du script dans le Journal d'exécution qui s'affiche en bas de la fenêtre.