Importe un événement. Cette opération permet d'ajouter une copie privée d'un événement existant à un agenda. Seuls les événements dont la valeur eventType
est default
peuvent être importés.
Comportement obsolète:si un événement autre que default
est importé, son type est remplacé par default
et toutes les propriétés spécifiques au type d'événement qu'il peut avoir sont supprimées.
Requête
Requête HTTP
POST https://www.googleapis.com/calendar/v3/calendars/calendarId/events/import
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 ".
|
Paramètres de requête facultatifs | ||
conferenceDataVersion |
integer |
Numéro de version des données de conférence compatibles avec le client de l'API. La version 0 ne prend pas en charge les données de conférence et les ignore dans le corps de l'événement. La version 1 permet de copier ConferenceData et de créer des 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.
|
supportsAttachments |
boolean |
Indique si le client API effectuant l'opération accepte les pièces jointes d'événements. Facultatif. La valeur par défaut est "False" (faux). |
Autorisation
Cette requête nécessite une autorisation avec au moins l'un des champs d'application suivants:
Portée |
---|
https://www.googleapis.com/auth/calendar |
https://www.googleapis.com/auth/calendar.events |
https://www.googleapis.com/auth/calendar.app.created |
https://www.googleapis.com/auth/calendar.events.owned |
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 requises | |||
end |
nested object |
Heure de fin (exclusive) de l'événement. Pour un événement récurrent, il s'agit de l'heure de fin de la première instance. | |
iCalUID |
string |
Identifiant unique de l'événement, tel que défini dans la RFC5545. Il permet d'identifier de manière unique les événements dans les systèmes d'agenda et doit être fourni lors de l'importation d'événements via la méthode import (importer). Notez que |
|
start |
nested object |
Heure de début (inclusive) de l'événement. Pour un événement récurrent, il s'agit de l'heure de début de la première instance. | |
Propriétés facultatives | |||
anyoneCanAddSelf |
boolean |
Indique si n'importe qui peut 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é Obligatoire lors de l'ajout d'une pièce jointe. |
accessible en écriture |
attendees[] |
list |
Participants à l'événement. Pour en savoir plus sur la planification d'événements avec d'autres utilisateurs de l'agenda, consultez le guide Événements avec des participants. Les comptes de service doivent utiliser la délégation d'autorité au niveau du domaine pour renseigner la liste des participants. | accessible en écriture |
attendees[].additionalGuests |
integer |
Nombre d'invités supplémentaires. Facultatif. La valeur par défaut est 0. | accessible en écriture |
attendees[].comment |
string |
Commentaire de la personne interrogée. Facultatif. | accessible en écriture |
attendees[].displayName |
string |
Nom de l'utilisateur, le cas échéant Facultatif. | accessible en écriture |
attendees[].email |
string |
Adresse e-mail de l'participant (si disponible) Ce champ doit être présent lorsque vous ajoutez 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 si l'invité est facultatif. Facultatif. La valeur par défaut est "False" (faux). | accessible en écriture |
attendees[].resource |
boolean |
Indique si le participant est une ressource. Ne peut être défini 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 de l'utilisateur. Les valeurs possibles sont les suivantes:
|
accessible en écriture |
attendeesOmitted |
boolean |
Indique si des participants ont pu être omis de la représentation de l'événement. Lorsque vous récupérez un événement, cela peut être dû à une restriction spécifiée par le paramètre de requête maxAttendee . Lorsque vous mettez à jour un événement, vous pouvez uniquement modifier la réponse du participant. Facultatif. La valeur par défaut est "False" (faux). |
accessible en écriture |
colorId |
string |
Couleur de l'événement. Il s'agit d'un ID faisant 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, telles que les détails d'une conférence Google Meet. Pour créer des informations sur une conférence, utilisez le champ createRequest . Pour que vos modifications soient conservées, n'oubliez pas de définir le paramètre de requête conferenceDataVersion sur 1 pour toutes les requêtes 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", si l'événement dure toute la journée. | accessible en écriture |
end.dateTime |
datetime |
L'heure, sous la forme d'une valeur date-heure combinée (mise en forme conformément à la RFC3339). Un décalage horaire est obligatoire, 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 IANA, par exemple "Europe/Zurich") Pour les événements récurrents, ce champ est obligatoire et spécifie le fuseau horaire dans lequel la récurrence est développée. Pour les événements uniques, ce champ est facultatif et indique un fuseau horaire personnalisé pour le début/la fin de l'événement. | accessible en écriture |
extendedProperties.private |
object |
Propriétés privées à la copie de l'événement qui s'affiche 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 focusTime . |
accessible en écriture |
gadget.display |
string |
Mode d'affichage du gadget. Obsolète. Les valeurs possibles sont les suivantes:
|
accessible en écriture |
gadget.height |
integer |
Hauteur du gadget en pixels. La hauteur doit être un entier supérieur à 0. Facultatif. Obsolète. | accessible en écriture |
gadget.iconLink |
string |
URL de l'icône du gadget. Le schéma d'URL doit être HTTPS. Obsolète. | accessible en écriture |
gadget.link |
string |
URL du gadget. Le schéma d'URL doit être HTTPS. 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 entier supérieur à 0. 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 |
Indique si les participants autres que l'organisateur peuvent voir 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 |
organizer |
object |
Organisateur de l'événement. Si l'organisateur est également un participant, cela est indiqué par une entrée distincte dans attendees , avec le champ organizer défini sur "True". Pour modifier l'organisateur, utilisez l'opération déplacer. En lecture seule, sauf lors de l'importation d'un événement. |
accessible en écriture |
organizer.displayName |
string |
Nom de l'organisateur, le cas échéant. | accessible en écriture |
organizer.email |
string |
Adresse e-mail de l'organisateur, le cas échéant. Il doit s'agir d'une adresse e-mail valide, conformément à la norme RFC5322. | accessible en écriture |
originalStartTime.date |
date |
Date au format "aaaa-mm-jj", si l'événement dure toute la journée. | accessible en écriture |
originalStartTime.dateTime |
datetime |
L'heure, sous la forme d'une valeur date-heure combinée (mise en forme conformément à la RFC3339). Un décalage horaire est obligatoire, 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 IANA, par exemple "Europe/Zurich") Pour les événements récurrents, ce champ est obligatoire et spécifie le fuseau horaire dans lequel la récurrence est développée. Pour les événements uniques, ce champ est facultatif et indique un fuseau horaire personnalisé pour le début/la fin de l'événement. | accessible en écriture |
outOfOfficeProperties |
nested object |
Données d'événement "Absent du bureau". Utilisé si eventType est outOfOffice . |
accessible en écriture |
recurrence[] |
list |
Liste des lignes RRULE, EXRULE, RDATE et EXDATE pour un événement récurrent, comme spécifié dans la RFC5545. Notez que les lignes DTSTART et DTEND ne sont pas autorisées dans ce champ. Les heures de début et de fin de l'événement sont spécifiées dans les champs start et end . Ce champ est omis pour les événements uniques ou les occurrences d'événements récurrents. |
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 sont listés. Si aucun rappel n'est défini, cela indique qu'aucun rappel n'est défini pour cet événement. Le nombre maximal de rappels de forçage est de cinq. | accessible en écriture |
reminders.overrides[].method |
string |
Méthode utilisée par ce rappel. Les valeurs possibles sont les suivantes:
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 auquel le rappel doit être déclenché. Les valeurs valides sont comprises entre 0 et 40 320 (4 semaines en minutes). Obligatoire lors de l'ajout d'un rappel. |
accessible en écriture |
reminders.useDefault |
boolean |
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 selon iCalendar. | accessible en écriture |
source.title |
string |
Titre de la source (par exemple, titre d'une page Web ou 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", si l'événement dure toute la journée. | accessible en écriture |
start.dateTime |
datetime |
L'heure, sous la forme d'une valeur date-heure combinée (mise en forme conformément à la RFC3339). Un décalage horaire est obligatoire, 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 IANA, par exemple "Europe/Zurich") Pour les événements récurrents, ce champ est obligatoire et spécifie le fuseau horaire dans lequel la récurrence est développée. Pour les événements uniques, ce champ est facultatif et indique un fuseau horaire personnalisé pour le début/la fin de l'événement. | accessible en écriture |
status |
string |
État de l'événement. Facultatif. Les valeurs possibles sont les suivantes:
|
accessible en écriture |
summary |
string |
Titre de l'événement. | accessible en écriture |
transparency |
string |
Indique si l'événement bloque une période dans l'agenda. Facultatif. Les valeurs possibles sont les suivantes:
|
accessible en écriture |
visibility |
string |
Visibilité de l'événement. Facultatif. Les valeurs possibles sont les suivantes:
|
accessible en écriture |
Réponse
Si la requête aboutit, cette méthode 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; import com.google.api.services.calendar.model.EventAttendee; import com.google.api.services.calendar.model.EventDateTime; import com.google.api.client.util.DateTime; import java.util.Date; // ... // Initialize Calendar service with valid OAuth credentials Calendar service = new Calendar.Builder(httpTransport, jsonFactory, credentials) .setApplicationName("applicationName").build(); // Create and initialize a new event (could also retrieve an existing event) Event event = new Event(); event.setICalUID("originalUID"); Event.Organizer organizer = new Event.Organizer(); organizer.setEmail("organizerEmail"); organizer.setDisplayName("organizerDisplayName"); event.setOrganizer(organizer); ArrayList<EventAttendee> attendees = new ArrayList<EventAttendee>(); attendees.add(new EventAttendee().setEmail("attendeeEmail")); // ... event.setAttendees(attendees); Date startDate = new Date(); Date endDate = new Date(startDate.getTime() + 3600000); DateTime start = new DateTime(startDate, TimeZone.getTimeZone("UTC")); event.setStart(new EventDateTime().setDateTime(start)); DateTime end = new DateTime(endDate, TimeZone.getTimeZone("UTC")); event.setEnd(new EventDateTime().setDateTime(end)); // Import the event into a calendar Event importedEvent = service.events().calendarImport('primary', event).execute(); System.out.println(importedEvent.getId());
Python
Utilise la bibliothèque cliente Python.
event = { 'summary': 'Appointment', 'location': 'Somewhere', 'organizer': { 'email': 'organizerEmail', 'displayName': 'organizerDisplayName' }, 'start': { 'dateTime': '2011-06-03T10:00:00.000-07:00' }, 'end': { 'dateTime': '2011-06-03T10:25:00.000-07:00' }, 'attendees': [ { 'email': 'attendeeEmail', 'displayName': 'attendeeDisplayName', }, # ... ], 'iCalUID': 'originalUID' } imported_event = service.events().import_(calendarId='primary', body=event).execute() print imported_event['id']
PHP
Utilise la bibliothèque cliente PHP.
$event = new Google_Service_Calendar_Event(); $event->setSummary('Appointment'); $event->setLocation('Somewhere'); $start = new Google_Service_Calendar_EventDateTime(); $start->setDateTime('2011-06-03T10:00:00.000-07:00'); $event->setStart($start); $end = new Google_Service_Calendar_EventDateTime(); $end->setDateTime('2011-06-03T10:25:00.000-07:00'); $event->setEnd($end); $attendee1 = new Google_Service_Calendar_EventAttendee(); $attendee1->setEmail('attendeeEmail'); // ... $attendees = array($attendee1, // ..., ); $event->attendees = $attendees; $organizer = new Google_Service_Calendar_EventOrganizer(); $organizer->setEmail('organizerEmail'); $organizer->setDisplayName('organizerDisplayName'); $event->setOrganizer($organizer); $event->setICalUID('originalUID'); $importedEvent = $service->events->import('primary', $event); echo $importedEvent->getId();
Ruby
Utilise la bibliothèque cliente Ruby.
event = Google::Apis::CalendarV3::Event.new( summary: 'Appointment', location: 'Somewhere', organizer: { email: 'organizerEmail', display_name: 'organizerDisplayName' }, start: { date_time: '2011-06-03T10:00:00.000-07:00' }, end: { date_time: '2011-06-03T10:25:00.000-07:00' }, attendees: [ { email: 'attendeeEmail', display_name: 'attendeeDisplayName', }, # ... ], i_cal_uid: 'originalUID' ) result = client.import_event('primary', event) print result.id
Essayer
Utilisez l'explorateur d'API ci-dessous pour appeler cette méthode sur des données en direct, puis observez la réponse.