Events: update

Met à jour un événement. Cette méthode n'est pas compatible avec la sémantique patch et met toujours à jour l'intégralité de la ressource d'événement. Pour effectuer une mise à jour partielle, effectuez une get suivie d'une update à l'aide d'etags pour garantir l'atomicité. Essayez maintenant ou consultez un exemple.

Requête

Requête HTTP

PUT https://www.googleapis.com/calendar/v3/calendars/calendarId/events/eventId

Paramètres

Nom du paramètre Valeur Description
Paramètres de chemin d'accès
calendarId string Identifiant de l'agenda. Pour récupérer les ID d'agenda, appelez la méthode calendarList.list. Si vous souhaitez accéder à l'agenda principal de l'utilisateur actuellement connecté, utilisez le mot clé "primary".
eventId string Identifiant d'événement.
Paramètres de requête facultatifs
alwaysIncludeEmail boolean Obsolète et ignoré. Une valeur est toujours renvoyée dans le champ email pour l'organisateur, le créateur et les participants, même si aucune adresse e-mail réelle n'est disponible (c'est-à-dire qu'une valeur non fonctionnelle est générée).
conferenceDataVersion integer Numéro de version des données de conférence prises en charge par le client API. La version 0 n'accepte pas les données de conférence et ignore ces données dans le corps de l'événement. La version 1 prend en charge la copie de ConferenceData ainsi que la création de conférences à l'aide du champ createRequest de ConferenceData. La valeur par défaut est 0. Les valeurs autorisées vont de 0 à 1, inclus.
maxAttendees integer Nombre maximal de participants à inclure dans la réponse. Si le nombre de participants est supérieur à celui spécifié, seul le participant est renvoyé. Facultatif.
sendNotifications boolean Obsolète. Utilisez sendUpdates à la place.

Permet d'envoyer des notifications concernant la mise à jour de l'événement (modification de la description, etc.). Notez que certains e-mails peuvent continuer à être envoyés, même si vous définissez la valeur sur false. La valeur par défaut est false.
sendUpdates string Invités qui doivent recevoir des notifications sur la modification de l'événement (changement de titre, etc.).

Valeurs acceptées :
  • "all": les notifications sont envoyées à tous les invités.
  • "externalOnly": les notifications ne sont envoyées qu'aux personnes qui n'utilisent pas Google Agenda.
  • "none": aucune notification n'est envoyée. Pour les tâches de migration d'agenda, envisagez plutôt d'utiliser la méthode Events.import.
supportsAttachments boolean Indique si le client API effectuant une opération prend en charge les pièces jointes à des événements. Facultatif. La valeur par défaut est "False" (faux).

Autorisation

Une autorisation est nécessaire pour cette requête avec au moins l'un des champs d'application suivants:

Définition du champ d'application
https://www.googleapis.com/auth/calendar
https://www.googleapis.com/auth/calendar.events

Pour en savoir plus, consultez la page Authentification et autorisation.

Corps de la requête

Dans le corps de la requête, indiquez une ressource "Events" avec les propriétés suivantes:

Nom de propriété Valeur Description Remarques
Propriétés obligatoires
end nested object Heure de fin (exclusive) de l'événement. Pour un événement périodique, il s'agit de l'heure de fin de la première occurrence.
start nested object Heure de début (incluse) de l'événement. Pour un événement périodique, il s'agit de l'heure de début de la première occurrence.
Propriétés facultatives
anyoneCanAddSelf boolean Indique si les utilisateurs peuvent s'inviter à l'événement (obsolète). Facultatif. La valeur par défaut est "False" (faux). accessible en écriture
attachments[].fileUrl string Lien URL vers la pièce jointe.

Pour ajouter des pièces jointes Google Drive, utilisez le même format que dans la propriété alternateLink de la ressource Files dans l'API Drive.

Obligatoire lors de l'ajout d'une pièce jointe.

accessible en écriture
attendees[] list Participants à l'événement. Pour savoir comment planifier des événements avec d'autres utilisateurs d'agenda, consultez le guide Événements avec participants. Les comptes de service doivent utiliser la délégation d'autorité au niveau du domaine pour remplir la liste des participants. accessible en écriture
attendees[].additionalGuests integer Nombre de personnes supplémentaires. Facultatif. La valeur par défaut est 0. accessible en écriture
attendees[].comment string Commentaire sur la réponse du participant. Facultatif. accessible en écriture
attendees[].displayName string Nom du participant, si disponible Facultatif. accessible en écriture
attendees[].email string Adresse e-mail du participant, si disponible Ce champ doit être présent lors de l'ajout d'un participant. Il doit s'agir d'une adresse e-mail valide conformément à la norme RFC5322.

Obligatoire lors de l'ajout d'un participant.

accessible en écriture
attendees[].optional boolean Indique s'il s'agit d'un participant facultatif. Facultatif. La valeur par défaut est "False" (faux). accessible en écriture
attendees[].resource boolean Indique si le participant est une ressource. Cette option ne peut être définie que lorsque le participant est ajouté à l'événement pour la première fois. Les modifications ultérieures sont ignorées. Facultatif. La valeur par défaut est "False" (faux). accessible en écriture
attendees[].responseStatus string État de la réponse du participant. Les valeurs possibles sont:
  • needsAction : le participant n'a pas répondu à l'invitation (recommandé pour les nouveaux événements).
  • declined : le participant a refusé l'invitation.
  • tentative : le participant a accepté l'invitation.
  • accepted : le participant a accepté l'invitation.
accessible en écriture
attendeesOmitted boolean Indique si des participants ont été omis de la représentation de l'événement. Lors de la récupération d'un événement, cela peut être dû à une restriction spécifiée par le paramètre de requête maxAttendee. Lors de la mise à jour d'un événement, cette option permet uniquement de mettre à jour la réponse du participant. Facultatif. La valeur par défaut est "False" (faux). accessible en écriture
colorId string Couleur de l'événement. Cet ID fait référence à une entrée de la section event de la définition des couleurs (voir le point de terminaison des couleurs). Facultatif. accessible en écriture
conferenceData nested object Informations sur la conférence, par exemple les détails d'une conférence Google Meet. Pour créer les détails d'une nouvelle conférence, utilisez le champ createRequest. Pour conserver vos modifications, n'oubliez pas de définir le paramètre de requête conferenceDataVersion sur 1 pour toutes les demandes de modification d'événement. accessible en écriture
description string Description de l'événement. Peut contenir du code HTML. Facultatif. accessible en écriture
end.date date Date au format "aaaa-mm-jj", s'il s'agit d'un événement d'une journée entière. accessible en écriture
end.dateTime datetime Heure, sous forme de valeur de date et d'heure combinée (dans le format RFC3339). Un décalage de fuseau horaire est requis, sauf si un fuseau horaire est explicitement spécifié dans timeZone. accessible en écriture
end.timeZone string Fuseau horaire dans lequel l'heure est spécifiée. (au format de nom de la base de données des fuseaux horaires de l'IANA, par exemple "Europe/Zurich"). Pour les événements périodiques, ce champ est obligatoire et indique le fuseau horaire dans lequel la récurrence est étendue. Pour les événements individuels, ce champ est facultatif et indique un fuseau horaire personnalisé pour le début et la fin de l'événement. accessible en écriture
extendedProperties.private object Propriétés réservées à la copie de l'événement qui apparaît dans cet agenda. accessible en écriture
extendedProperties.shared object propriétés partagées entre les copies de l'événement dans les agendas des autres participants. accessible en écriture
focusTimeProperties nested object Données d'événement "Moment de concentration". Utilisé si eventType est défini sur focusTime. accessible en écriture
gadget.display string Mode d'affichage du gadget Obsolète. Les valeurs possibles sont:
  • "icon" : le gadget s'affiche à côté du titre de l'événement dans la vue de l'agenda.
  • "chip" : le gadget s'affiche lorsqu'un utilisateur clique sur l'événement.
accessible en écriture
gadget.height integer Hauteur du gadget en pixels. La hauteur doit être un nombre entier supérieur à zéro. Facultatif. Obsolète. accessible en écriture
gadget.preferences object Préférences. accessible en écriture
gadget.title string Titre du gadget. Obsolète. accessible en écriture
gadget.type string Type du gadget. Obsolète. accessible en écriture
gadget.width integer Largeur du gadget en pixels. La largeur doit être un nombre entier supérieur à zéro. Facultatif. Obsolète. accessible en écriture
guestsCanInviteOthers boolean Indique si les participants autres que l'organisateur peuvent inviter d'autres personnes à l'événement. Facultatif. La valeur par défaut est "True". accessible en écriture
guestsCanModify boolean Indique si les participants autres que l'organisateur peuvent modifier l'événement. Facultatif. La valeur par défaut est "False" (faux). accessible en écriture
guestsCanSeeOtherGuests boolean Ce paramètre indique si les participants autres que l'organisateur peuvent voir qui sont les participants à l'événement. Facultatif. La valeur par défaut est "True". accessible en écriture
location string Emplacement géographique de l'événement sous forme de texte libre. Facultatif. accessible en écriture
originalStartTime.date date Date au format "aaaa-mm-jj", s'il s'agit d'un événement d'une journée entière. accessible en écriture
originalStartTime.dateTime datetime Heure, sous forme de valeur de date et d'heure combinée (dans le format RFC3339). Un décalage de fuseau horaire est requis, sauf si un fuseau horaire est explicitement spécifié dans timeZone. accessible en écriture
originalStartTime.timeZone string Fuseau horaire dans lequel l'heure est spécifiée. (au format de nom de la base de données des fuseaux horaires de l'IANA, par exemple "Europe/Zurich"). Pour les événements périodiques, ce champ est obligatoire et indique le fuseau horaire dans lequel la récurrence est étendue. Pour les événements individuels, ce champ est facultatif et indique un fuseau horaire personnalisé pour le début et la fin de l'événement. accessible en écriture
outOfOfficeProperties nested object Données d'événements d'absence du bureau. Utilisé si eventType est défini sur outOfOffice. accessible en écriture
recurrence[] list Liste des lignes RRULE, EXRULE, RDATE et EXDATE d'un événement périodique, comme spécifié dans le document RFC5545. Notez que les lignes DTSTART et DTEND ne sont pas autorisées dans ce champ. Les heures de début et de fin des événements sont spécifiées dans les champs start et end. Ce champ est omis pour les événements individuels ou les instances d'événements périodiques. accessible en écriture
reminders.overrides[] list Si l'événement n'utilise pas les rappels par défaut, les rappels spécifiques à l'événement s'affichent. S'il n'est pas défini, aucun rappel n'est défini pour cet événement. Le nombre maximal de rappels de remplacement est de cinq. accessible en écriture
reminders.overrides[].method string Méthode utilisée par ce rappel. Les valeurs possibles sont:
  • email : les rappels sont envoyés par e-mail.
  • popup : les rappels sont envoyés via un pop-up dans l'interface utilisateur.

Obligatoire lors de l'ajout d'un rappel.

accessible en écriture
reminders.overrides[].minutes integer Nombre de minutes avant le début de l'événement pendant lequel le rappel doit se déclencher. Les valeurs valides sont comprises entre 0 et 40320 (quatre semaines en minutes).

Obligatoire lors de l'ajout d'un rappel.

accessible en écriture
reminders.useDefault boolean Ce paramètre indique si les rappels par défaut de l'agenda s'appliquent à l'événement. accessible en écriture
sequence integer Numéro de séquence conformément à iCalendar. accessible en écriture
source.title string Titre de la source ; par exemple le titre d'une page Web ou l'objet d'un e-mail. accessible en écriture
source.url string URL de la source pointant vers une ressource. Le schéma d'URL doit être HTTP ou HTTPS. accessible en écriture
start.date date Date au format "aaaa-mm-jj", s'il s'agit d'un événement d'une journée entière. accessible en écriture
start.dateTime datetime Heure, sous forme de valeur de date et d'heure combinée (dans le format RFC3339). Un décalage de fuseau horaire est requis, sauf si un fuseau horaire est explicitement spécifié dans timeZone. accessible en écriture
start.timeZone string Fuseau horaire dans lequel l'heure est spécifiée. (au format de nom de la base de données des fuseaux horaires de l'IANA, par exemple "Europe/Zurich"). Pour les événements périodiques, ce champ est obligatoire et indique le fuseau horaire dans lequel la récurrence est étendue. Pour les événements individuels, ce champ est facultatif et indique un fuseau horaire personnalisé pour le début et la fin de l'événement. accessible en écriture
status string État de l'événement. Facultatif. Les valeurs possibles sont:
  • confirmed : l'événement est confirmé. Il s'agit de l'état par défaut.
  • tentative : l'événement est confirmé provisoirement.
  • "cancelled" : l'événement est annulé (supprimé). La méthode list ne renvoie les événements annulés que lors d'une synchronisation incrémentielle (lorsque syncToken ou updatedMin sont spécifiés) ou si l'indicateur showDeleted est défini sur true. La méthode get les renvoie toujours.

    Un état "Annulé" représente deux états différents selon le type d'événement:

    1. Les exceptions annulées d'un événement récurrent non annulé indiquent que cette instance ne doit plus être présentée à l'utilisateur. Les clients doivent stocker ces événements pendant toute la durée de l'événement récurrent parent.

      Si vous annulez une exception, seules les valeurs des champs id, recurringEventId et originalStartTime seront renseignées. Les autres champs peuvent être vides.

    2. Tous les autres événements annulés représentent des événements supprimés. Les clients doivent supprimer leurs copies synchronisées localement. Ces événements annulés finiront donc par disparaître. Par conséquent, ne comptez pas sur leur disponibilité indéfinie.

      Seule garantie que le champ id sera renseigné pour les événements supprimés.

    Dans l'agenda de l'organisateur, les événements annulés continuent d'afficher les détails de l'événement (résumé, lieu, etc.) afin qu'ils puissent être restaurés (sans suppression). De même, les événements auxquels l'utilisateur a été invité et qu'il a supprimé manuellement continuent de fournir des informations. Toutefois, les demandes de synchronisation incrémentielle dont la valeur showDeleted est définie sur "false" ne renvoient pas ces informations.

    Si un événement change d'organisateur (par exemple, via l'opération move) et que l'organisateur d'origine ne figure pas sur la liste des participants, l'événement est annulé. Dans ce cas, seul le champ id sera renseigné.

accessible en écriture
summary string Titre de l'événement. accessible en écriture
transparency string Indique si l'événement bloque une heure dans l'agenda. Facultatif. Les valeurs possibles sont:
  • "opaque" : valeur par défaut. L'événement bloquera des heures dans l'agenda. Cela revient à définir l'option Ma disponibilité sur Occupé dans l'interface utilisateur d'Agenda.
  • "transparent" : l'événement ne bloque aucune heure dans l'agenda. Cela revient à définir l'option Ma disponibilité sur Disponible dans l'interface utilisateur d'Agenda.
accessible en écriture
visibility string Visibilité de l'événement. Facultatif. Les valeurs possibles sont:
  • "default" : utilise la visibilité par défaut des événements dans l'agenda. Il s'agit de la valeur par défaut.
  • public : l'événement est public, et tous les lecteurs de l'agenda peuvent voir ses détails.
  • private : l'événement est privé, et seuls les participants peuvent consulter les détails de l'événement.
  • "confidential" : cet événement est privé. Cette valeur est fournie pour des raisons de compatibilité.
accessible en écriture
workingLocationProperties nested object Données d'événement liées au lieu de travail. accessible en écriture
workingLocationProperties.customLocation object S'il est présent, indique que l'utilisateur travaille à partir d'un lieu personnalisé. accessible en écriture
workingLocationProperties.customLocation.label string Une étiquette supplémentaire facultative pour des informations supplémentaires. accessible en écriture
workingLocationProperties.homeOffice any value Si présent, indique que l'utilisateur travaille à domicile. accessible en écriture
workingLocationProperties.officeLocation object S'il est présent, indique que l'utilisateur travaille dans un bureau. accessible en écriture
workingLocationProperties.officeLocation.buildingId string Identifiant de bâtiment facultatif. Ce nom doit faire référence à un ID de bâtiment figurant dans la base de données "Resources" de l'organisation. accessible en écriture
workingLocationProperties.officeLocation.deskId string Identifiant de bureau facultatif. accessible en écriture
workingLocationProperties.officeLocation.floorId string Identifiant d'étage facultatif. accessible en écriture
workingLocationProperties.officeLocation.floorSectionId string Identifiant facultatif de section d'étage. accessible en écriture
workingLocationProperties.officeLocation.label string Nom du bureau affiché dans les clients Agenda sur le Web et pour mobile. Nous vous recommandons de référencer un nom de bâtiment dans la base de données de ressources de l'organisation. accessible en écriture
workingLocationProperties.type string Type de lieu de travail. Les valeurs possibles sont:
  • "homeOffice" : l'utilisateur travaille à son domicile.
  • "officeLocation" : l'utilisateur travaille dans un bureau.
  • "customLocation" : l'utilisateur travaille à partir d'un lieu personnalisé.
Tous les détails sont spécifiés dans un sous-champ du nom spécifié, mais ce champ peut être manquant s'il est vide. Tous les autres champs sont ignorés.

Obligatoire lors de l'ajout des propriétés de lieu de travail.

accessible en écriture

Réponse

Lorsque cette méthode fonctionne, elle renvoie une ressource "Events" dans le corps de la réponse.

Exemples

Remarque : Les langages de programmation compatibles ne figurent pas tous dans les exemples de code présentés pour cette méthode (consultez la page Bibliothèques clientes pour obtenir la liste des langages compatibles).

Java

Utilise la bibliothèque cliente Java.

import com.google.api.services.calendar.Calendar;
import com.google.api.services.calendar.model.Event;

// ...

// Initialize Calendar service with valid OAuth credentials
Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials)
    .setApplicationName("applicationName").build();

// Retrieve the event from the API
Event event = service.events().get("primary", "eventId").execute();

// Make a change
event.setSummary("Appointment at Somewhere");

// Update the event
Event updatedEvent = service.events().update("primary", event.getId(), event).execute();

System.out.println(updatedEvent.getUpdated());

Python

Utilise la bibliothèque cliente Python.

# First retrieve the event from the API.
event = service.events().get(calendarId='primary', eventId='eventId').execute()

event['summary'] = 'Appointment at Somewhere'

updated_event = service.events().update(calendarId='primary', eventId=event['id'], body=event).execute()

# Print the updated date.
print updated_event['updated']

PHP

Utilise la bibliothèque cliente PHP.

// First retrieve the event from the API.
$event = $service->events->get('primary', 'eventId');

$event->setSummary('Appointment at Somewhere');

$updatedEvent = $service->events->update('primary', $event->getId(), $event);

// Print the updated date.
echo $updatedEvent->getUpdated();

Ruby

Utilise la bibliothèque cliente Ruby.

event = client.get_event('primary', 'eventId')
event.summary = 'Appointment at Somewhere'
result = client.update_event('primary', event.id, event)
print result.updated

Essayer

Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.