Référence de l’API REST Outlook Calendrier (bêta)
S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
Notes
Cette documentation couvre l’API pour les salle de réunion, la localisation d’événements multiples, le partage d’agenda, le transfert et l’annulation d’événements disponibles dans l'aperçu. Les fonctionnalités de la préversion sont sujettes à modifications avant leur finalisation. Elles peuvent donc entraîner des erreurs de code. Pour cette raison, nous vous conseillons généralement d’utiliser uniquement une version de production d’une API dans votre code de production. La v2.0 est actuellement privilégiée lorsqu’elle est disponible.
L’API Calendrier fournit un accès aux données d'événements, de calendrier et de groupe de calendriers sécurisés par Azure Active Directory sur Office 365, ainsi qu’à des données similaires dans les comptes Microsoft précisément sur ces domaines : Hotmail.com, Live.com, MSN.com, Outlook.com, et Passport.com.
Notes
- L’exception est l’API qui permet de trouver des heures de réunion et qui s’applique uniquement aux boîtes aux lettres Office 365 (sur Azure AD) et non aux comptes Microsoft.
- Pour plus de simplicité dans les références, la suite de cet article utilise Outlook.com pour inclure ces domaines de compte Microsoft.
La version béta de l’API ne vous intéresse pas ? Dans la table des matières sur la gauche, accédez à la section Référence API REST pour Office 365 et sélectionnez la version souhaitée.
Toutes les opérations de l’API Calendrier
Opérations d'événement
Un événement correspond à un rendez-vous ou une réunion sur le calendrier de l’utilisateur. Un événement peut être le fait principal d'une série (pour les événements récurrents), une occurence, une instance simple ou une exception.
- Obtenir des événements
- Synchroniser les événements
- Rechercher des heures de réunion
- Obtenir des salles de réunion (aperçu)
- Créer des événements
- Mettre à jour les événements
- Répondre aux événements
- Transférer des événements (aperçu)
- Supprimer des événements
- Annuler des événements (aperçu)
- Obtention des pièces jointes
- Créer des pièces jointes
- Supprimer les pièces jointes
- Obtenir des rappels
- Mettre les rappels en veilleuse
- Ignorer les rappels
Opérations de calendrier
Un calendrier sert de conteneur pour les événements. Un utilisateur peut avoir plusieurs calendriers. Dans Office 365, chaque calendrier peut être affecté à un groupe de calendriers.
- Obtenir des calendriers
- Créer des calendriers
- Mettre à jour les calendriers
- Supprimer des calendriers
Opérations du groupe de calendriers
Les utilisateurs peuvent ajouter plusieurs calendriers dans un groupe de calendriers unique dans Outlook ou dans l'application Outlook Web. Les utilisateurs peuvent ajouter plusieurs calendriers dans un seul groupe de calendriers dans Outlook ou dans l’application Outlook Web. Cela permet aux utilisateurs d’afficher plus rapidement tous les calendriers au sein d’un groupe.
Notes
Outlook.com ne prend en charge que le groupe de calendriers par défaut, accessible par le raccourci ../me/calendars
. Vous ne pouvez pas supprimer ce groupe de calendriers ou en créer un autre.
- Obtenir un groupe de calendriers
- Créer des groupes de calendriers
- Mettre à jour les groupes de calendriers
- Supprimer les groupes de calendriers
Voir aussi
- Ressource d’événement de l'API REST
- Ressources du calendrier API REST
- Ressource du groupe de calendriers de l'API REST
Utilisation de l’API REST Calendrier
Authentification
Comme pour les autres API REST Outlook, pour chaque demande envoyée à l’API Calendrier, vous devez inclure un jeton d’accès valide. Pour obtenir un jeton d’accès, vous devez avoir enregistré et identifié votre application et obtenu l’autorisation appropriée.
Vous pouvez en apprendre plus sur certaines options d’inscription et d’autorisation simplifiées pour vous. Gardez cela à l’esprit lorsque vous effectuez des opérations spécifiques dans l’API Calendrier.
Étendues pour accéder aux calendriers partagés
Les calendriers Office 365 et Outlook.com prennent en charge le partage. Un utilisateur qui a créé un calendrier peut le partager avec d'autres utilisateurs. Les étendues suivantes sont requises pour accéder à un agenda qui a été partagé avec l'utilisateur suivant :
- Pour un accès en lecture :
https://outlook.office.com/calendars.read.shared
- Pour un accès en lecture/écriture :
https://outlook.office.com/calendars.readwrite.shared
Version de l’API
L’API REST Calendrier est prise en charge dans toutes les versions de l’API REST Outlook. La fonctionnalité peut différer selon la version spécifique.
Utilisateur cible
Les demandes de l’API Calendrier sont toujours effectuées au nom de l'utilisateur actuel.
Voir Utiliser l’API REST Outlook pour plus d’informations communes à tous les sous-ensembles de l’API REST Outlook.
Obtenir des événements
Obtenir un ensemble d’événements ou un événement.
Le corps d’un événement peut être en texte ou en HTML.
Vous pouvez utiliser l’ Prefer: outlook.body-content-type
en-tête pour spécifier le format souhaité retourné dans la propriété de corps dans une demande GET :
- Spécifier
Prefer: outlook.body-content-type="text"
pour obtenir un corps d'événement retourné au format texte. - Spécifiez
Prefer: outlook.body-content-type="html"
, ou ignorez simplement l’en-tête, pour rétablir le corps du message au format HTML.
Si vous spécifiez l’un ou l’autre en-tête, la réponse inclura l’en-tête Preference-Applied
comme confirmation :
- Pour les requêtes au format texte :
Preference-Applied: outlook.body-content-type="text"
- Pour les requêtes au format HTML :
Preference-Applied: outlook.body-content-type="html"
Toutes les opérations qui reçoivent des événements de calendrier peuvent utiliser l’en-tête HTTP Prefer: outlook.timezone pour spécifier le fuseau horaire des heures de début et de fin dans la réponse. Par exemple, l’en-tête suivant Prefer: outlook.timezone définit les heures de début et de fin dans la réponse sur l’heure normale de l’Est.
Prefer: outlook.timezone="Eastern Standard Time"
Si vous ne spécifiez pas l’en-tête Prefer: outlook.timezone, les heures de début et de fin de la réponse seront renvoyées en UTC.
Vous pouvez utiliser les propriétés OriginalStartTimeZone et OriginalEndTimeZone sur la ressource Event pour déterminer le fuseau horaire utilisé lors de la création de l’événement.
- Obtenir une vue du calendrier
- Obtenir des événements principaux et des événements simples
- Obtenir des instances d’événements)
- Obtenir une ressource event
Obtenir une vue du calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenez les occurences, les exceptions, les instances d’événements simples dans la vue de calendrier définie par une plage de temps, ou à partir du calendrier principal de l’utilisateur (../me/calendarview
) ou d’un autre calendrier.
GET https://outlook.office.com/api/beta/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence : | outlook.timezone | Le fuseau horaire par défaut pour les événements dans la réponse. |
Paramètres d'URL | ||
calendar_id | chaîne | L'ID du calendrier, si vous utilisez une vue de calendrier d'un calendrier spécifique. |
start_datetime | datetimeoffset | La date et l'heure auxquelles l'événement commence. |
end_datetime | datetimeoffset | Date et heure de fin de l’événement. |
Utilisez l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire à utiliser pour les heures de début et de fin de l'événement dans la réponse. Si l’événement a été créé dans un fuseau horaire différent, les heures de début et de fin seront ajustées au fuseau horaire spécifié.
Voir cette liste de noms pour le fuseau horaire pris en charge. Si l’en-tête Prefer: outlook.timezone n'est pas spécifié, les heures de début et de fin sont renvoyées en UTC.
Notes
Par défaut, chaque événement dans la réponse inclut toutes ses propriétés. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Par exemple, affichez la vue de calendrier pour le mois d'octobre, en retournant uniquement la propriété Objet pour chaque événement. Si l’en-tête Prefer: outlook.timezone n'est pas inclus dans la requête, le fuseau horaire sera UTC.
GET https://outlook.office.com/api/beta/me/calendarview?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject
Type de réponse
Les événements s'étendant dans la plage de temps spécifiée.
Obtenir des événements principaux et des événements simples
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir une collection d'événements principaux et d’instances d’évènements ponctuels à partir de l’agenda principal de l'utilisateur (../me/events
) ou d’un agenda différent. Pour obtenir des instances d’événements étendus, vous pouvez afficher la vue de calendrier ou obtenir les instances d’un événement.
GET https://outlook.office.com/api/beta/me/events
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Paramètre requis | Type | Description |
---|---|---|
_Paramètres d'en-tête | ||
Préférence : | outlook.timezone | Le fuseau horaire par défaut pour les événements dans la réponse. |
Paramètres d'URL | ||
calendar_id | chaîne | L'ID du calendrier, si vous recevez des événements d’un calendrier spécifique. |
Utilisez l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire à utiliser pour les heures de début et de fin de l'événement dans la réponse. Si l’événement a été créé dans un fuseau horaire différent, les heures de début et de fin seront ajustées au fuseau horaire spécifié.
Voir cette liste de noms pour le fuseau horaire pris en charge. Si l’en-tête Prefer: outlook.timezone n'est pas spécifié, les heures de début et de fin sont renvoyées en UTC.
Notes
Chaque événement dans la réponse inclut toutes ses propriétés. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir l'exemple suivant. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
L'exemple suivant montre comment utiliser $select
pour spécifier que seules les propriétés Objet, Organisateur, Début et Fin de chaque événement doivent être retournées dans la réponse. Reportez-vous au premier exemple de réponse dans Obtenir un événement (REST) pour avoir une liste complète des propriétés qui seraient renvoyées pour un événement si vous n'utilisez pas $select
.
Exemple de demande
GET https://outlook.office.com/api/beta/me/events?$select=Subject,Organizer,Start,End,Location,Locations
Exemple de réponse
Code d’état : 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End,Location,Locations)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNWAACYBXsvAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
"Id":"AAMkADNWAACYBXsvAAA=",
"Subject":"Plan summer company picnic",
"Start":{
"DateTime":"2017-06-09T18:00:00.0000000",
"TimeZone":"UTC"
},
"End":{
"DateTime":"2017-06-09T19:00:00.0000000",
"TimeZone":"UTC"
},
"Location":{
"DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
"LocationType":"Default"
},
"Locations":[
{
"DisplayName":"Conf Room 3",
"LocationType":"Default"
},
{
"DisplayName":"Fourth Coffee",
"LocationType":"Default",
"Address":{
"Type":"Unknown",
"Street":"4567 Main St",
"City":"Redmond",
"State":"WA",
"CountryOrRegion":"US",
"PostalCode":"32008"
},
"Coordinates":{
"Latitude":47.672,
"Longitude":-102.103
}
},
{
"DisplayName":"Home Office",
"LocationType":"Default"
}
],
"Organizer":{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNPkvzAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAdE6yjA==\"",
"Id":"AAMkADNPkvzAAA=",
"Subject":"Customer visit",
"Start":{
"DateTime":"2017-04-20T21:00:00.0000000",
"TimeZone":"UTC"
},
"End":{
"DateTime":"2017-04-20T23:00:00.0000000",
"TimeZone":"UTC"
},
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"Organizer":{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
}
]
}
Obtenir des instances d’événements
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Vous pouvez obtenir les instances (occurences) d'un événement pour une plage de temps spécifiée. Si l’événement est du type SeriesMaster, cela renverra les occurences et les exceptions de l'événement dans la plage de temps spécifiée.
GET https://outlook.office.com/api/beta/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence : | outlook.timezone | Le fuseau horaire par défaut pour les événements dans la réponse. |
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
start_datetime | datetimeoffset | La date et l’heure auxquelles l’événement commence. |
end_datetime | datetimeoffset | Date et heure de fin de l’événement. |
Utilisez l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire à utiliser pour les heures de début et de fin de l'événement dans la réponse. Si l’événement a été créé dans un fuseau horaire différent, les heures de début et de fin seront ajustées au fuseau horaire spécifié.
Voir cette liste de noms pour le fuseau horaire pris en charge. Si l’en-tête Prefer: outlook.timezone n'est pas spécifié, les heures de début et de fin sont renvoyées en UTC.
Type de réponse
La collection d’ événements demandée.
Notes
Par défaut, chaque événement dans la réponse inclut toutes ses propriétés. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Par exemple, récupérez les occurrences d'un événement particulier pour le mois d'octobre, n'incluez que le ** Sujet** , les propriétés ** Début** et ** Fin** de chaque instance :
GET https://outlook.office.com/api/beta/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End
Obtenir une ressource event
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir un événement par ID.
GET https://outlook.office.com/api/beta/me/events/{event_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence : | outlook.timezone | Le fuseau horaire par défaut pour les événements dans la réponse. |
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Utilisez l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire à utiliser pour les heures de début et de fin de l'événement dans la réponse. Si l’événement a été créé dans un fuseau horaire différent, les heures de début et de fin seront ajustées au fuseau horaire spécifié.
Voir cette liste pour consulter les noms de fuseaux horaires pris en charge. Si l’en-tête Prefer: outlook.timezone n'est pas spécifié, les heures de début et de fin sont renvoyées en UTC.
Exemple de demande
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=
Exemple de réponse
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x48w==",
"Categories": [],
"CreatedDateTime": "2014-10-19T23:13:47.3959685Z",
"LastModifiedDateTime": "2014-10-19T23:13:47.6772234Z",
"Subject": "Weekly Meeting on Contoso Project",
"BodyPreview": "Setting up some time to review the budget and planning on the Contoso Project",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nSetting up some time to review the budget and planning on the Contoso Project\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Location": {
"DisplayName": "Alex's Office",
},
"Locations":[
{
"DisplayName": "Alex's Office",
}
]
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SeriesMaster",
"SeriesMasterId": null,
"Attendees": [
{
"EmailAddress": {
"Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Janet Schorr"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "pavelb@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Pavel Bansky"
},
"Status": {
"Response": "None",
"Time": "0001-01-01T00:00:00Z"
},
"Type": "Required"
}
],
"Recurrence": {
"Pattern": {
"Type": "Weekly",
"Interval": 1,
"Month": 0,
"Index": "First",
"FirstDayOfWeek": "Sunday",
"DayOfMonth": 0,
"DaysOfWeek": [
"Monday"
]
},
"RecurrenceTimeZone": "Pacific Standard Time",
"Range": {
"Type": "NoEnd",
"StartDate": "2014-10-13",
"EndDate": "2014-11-13",
"NumberOfOccurrences": 0
}
},
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"OnlineMeetingUrl": null
}
Type de réponse
L’ événement demandé.
Notes
Par défaut, la réponse inclut toutes les propriétés de l’événement. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée. Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
L'exemple suivant montre comment utiliser $select
pour spécifier que seules les propriétés Objet, Organisateur, Début et Fin de l'événement doivent être retournées.
Exemple de demande
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2TG93AAA=?$select=Subject,Organizer,Start,End
Exemple de réponse
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG93AAA=')",
"@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x48w==\"",
"Id": "AAMkAGI2TG93AAA=",
"Subject": "Weekly Meeting on Contoso Project",
"Start": {
"DateTime": "2014-10-13T21:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-10-13T22:00:00",
"TimeZone": ""Pacific Standard Time"
},
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
}
}
Synchroniser les événements
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Synchronisez et obtenez des événements récents, mis à jour ou supprimés dans une plage de temps spécifié à partir de l’agenda principal de l’utilisateur (../me/calendarview
) ou d’un agenda différent. Une telle série d'événements comprisedans une plage de temps est également appelé une vue de l’agenda. Les événements renvoyés peuvent inclure des occurences et des exceptions d'une série récurrente et des instances d’événements ponctuels.
La synchronisation d'une vue de calendrier nécessite généralement une série de deux ou plusieurs requêtes de synchronisation, chacune étant un appel GET. Pour synchroniser une vue de calendrier, utilisez la méthode GET comme vous le faites pour obtenir une vue de calendrier. En revanche, vous devriez inclure certains en-têtes de requête, et un deltaToken ou un skipToken selon le cas.
En-têtes de demande
Vous devez spécifier l’en-tête "Prefer: odata.track-changes" dans toutes les requêtes de synchronisation, à l'exception de celles qui incluent un
skipToken
qui est renvoyé suite à une précédente requête de synchronisation. Dans la première réponse, cherchez l’en-tête Preference-Applied: odata.track-changes pour confirmer que la ressource prend en charge la synchronisation avant de continuer. (Plus d'informations à propos duskipToken
dans l'exemple de données de deuxième réponse ci-après.)Vous pouvez spécifier l'en-tête " Prefer: odata.maxpagesize = {x} " pour indiquer le nombre maximal d'événements renvoyés par la demande de synchronisation.
Voici une séquence typique d'événements de synchronisation dans une vue de calendrier :
Faire la requête GET initiale avec l’en-tête Prefer: odata.track-changes obligatoire. La réponse initiale à une requête de synchronisation renvoie toujours un deltaToken. (Les requêtes GET suivantes diffèrent de la première requête GET car elles incluent soit un deltaToken soit un skipToken reçu dans une réponse antérieure.)
Si la première réponse renvoie l’en-tête Preference-Applied: odata.track-changes, vous pouvez poursuivre la synchronisation.
Effectuer une seconde requête GET. Spécifiez l’en-tête Prefer: odata.track-changes et le deltaToken renvoyé par le premier GET pour déterminer s’il existe des événements supplémentaires. La deuxième requête renverra des événements supplémentaires, et soit un skipToken s'il y a plus d’événements disponibles, ou un deltaToken si le dernier événement a été synchronisé, auquel cas vous pouvez vous arrêter.
Poursuivre la synchronisation en envoyant un appel GET et en incluant un skipToken renvoyé par un appel précédent. Arrêtez lorsque vous obtenez une dernière réponse contenant de nouveau un en-tête @odata.deltaLink avec un deltaToken, ce qui indique que la synchronisation est terminée.
Examinez la syntaxe pour les appels successifs dans une séquence de synchronisation.
Pour synchroniser dans le calendrier par défaut
Requête initiale :
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Deuxième requête, ou première requête d’une séquence suivante :
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
Troisième ou dernière demande dans la même séquence :
GET https://outlook.office.com/api/beta/{user_context}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
Pour synchroniser dans un calendrier spécifique
Requête initiale :
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Deuxième requête, ou première requête d’une séquence suivante :
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$deltatoken={delta_token}
Troisième ou dernière demande dans la même séquence :
GET https://outlook.office.com/api/beta/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}
Paramètres
Paramètre | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence : | outlook.timezone | Le fuseau horaire par défaut pour les événements dans la réponse. |
Paramètres d'URL | ||
user_context | chaîne | Le contexte de l'utilisateur. Vous pouvez utiliser la valeur de ' moi ' pour indiquer le contexte de l'utilisateur actuel. Vous pouvez également utiliser le format users/{upn} où upn est le nom principal de l'utilisateur, ce qui correspond généralement à l'adresse e-mail de l'utilisateur. |
calendar_id | chaîne | L'ID du calendrier, si vous utilisez une vue de calendrier d'un calendrier spécifique. |
start_datetime | datetimeoffset | La date et l'heure auxquelles l'événement commence. |
end_datetime | datetimeoffset | Date et heure de fin de l’événement. |
delta_token | chaîne | La chaîne deltaToken renvoyée dans le cadre de la valeur de @odata.deltaLink dans la réponse de synchronisation précédente. |
skip_token | chaîne | La chaîne skipToken renvoyée dans le cadre de la valeur de @odata.nextLink dans la réponse de synchronisation précédente. |
Utilisez l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire à utiliser pour les heures de début et de fin de l'événement dans la réponse. Si l’événement a été créé dans un fuseau horaire différent, les heures de début et de fin seront ajustées au fuseau horaire spécifié.
Voir cette liste pour consulter les noms de fuseaux horaires pris en charge. Si l’en-tête Prefer: outlook.timezone n'est pas spécifié, les heures de début et de fin sont renvoyées en UTC.
Notes
- Lorsque vous spécifiez "Prefer: odata.track-changes" dans la requête initiale, si la réponse prend en charge la synchronisation, la réponse inclura "Preference-applied: odata.track-changes" dans l'en-tête.
- Si vous tentez de synchroniser une ressource non prise en charge ou si ce n’est pas la demande de synchronisation initiale, vous ne verrez pas l’en-tête " Preference-applied " dans la réponse
- Vous pouvez modifier la fenêtre de modification de l'heure en modifiant les paramètres de requête startdatetime et enddatetime.
- Chaque événement dans la réponse inclut toutes ses propriétés.
- Pour une série récurrente, une réponse de synchronisation inclut l’événement entier englobant l’événement principal et les événements exceptionnels.
- Les exemples d’une série récurrente sont abrégées et ne contiennent que les propriétés Début et Fin. Vous pouvez capturer le reste des informations de l’occurence d’un événement à partir de l’événement principal récurrent. Voir Ressource d'événement pour consulter des informations de référence.
- Vous ne pouvez pas utiliser les paramètres de requête
$filter
,$count
,$select
,$skip
,$top
, et$search
.
Type de réponse
Les événements étendues et les événements abrégés dans la plage de temps spécifiée.
Exemple
L'exemple suivant montre les demandes de synchronisation initiale et secondaire visant à synchroniser le calendrier par défaut pour l’utilisateur. Chaque demande spécifie de renvoyer un seul événement complet à la fois :
- La réponse initiale renvoie un événement, un
deltaLink
et undeltaToken
. - La seconde requête utilise ce
deltatoken
. La deuxième réponse renvoie un événement, unnextLink
et unskipToken
.
Pour achever la synchronisation, utilisez le skipToken
renvoyé par la demande de synchronisation précédente jusqu’à ce que la réponse de synchronisation renvoie un deltaLink
et un deltaToken
, auquel cas cette séquence de synchronisation est terminée. Enregistrer le deltaToken
pour la prochaine séquence de synchronisation.
Pour plus d'informations, voir Synchroniser les événements dans la vue de calendrier Outlook.
Exemple de première requête
GET https://outlook.office.com/api/beta/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z HTTP/1.1
Authorization: Bearer <token>
Prefer: odata.track-changes
Prefer: odata.maxpagesize=1
Prefer: outlook.timezone="Pacific Standard Time"
Exemple de données d'une première réponse
Preference-Applied: odata.track-changes
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('user0@contoso.com')/Events('asdas==')",
"@odata.etag": "W/\"L8Z+4Y4u7k+97uRKg==\"",
"Id": "AQMkANJAAAAA==",
"ChangeKey": "L8Z+AAAAARKg==",
"Categories": [
],
"DateTimeCreated": "2015-04-10T17:54:49.2725912Z",
"DateTimeLastModified": "2015-04-10T17:54:49.3038538Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2015-04-05T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-05T19:00:00",
"TimeZone": "Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E9888E07599CCFA23",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAAINJAAAAA%3D%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.deltaLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-04-10T00%3a00%3a00Z&%24deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c"
}
Exemple de deuxième requête
GET https://outlook.office.com/api/beta/me/calendarview?startdatetime=2015-01-01T00:00:00Z&enddatetime=2015-04-10T00:00:00Z&$deltatoken=v2%2cH4roCAAA%3d%2c1.0%2cFalse%2cA00%2c
Authorization: Bearer <token>
Prefer: odata.track-changes
Prefer: odata.maxpagesize=1
Prefer: outlook.timezone="Pacific Standard Time"
Exemple de données d’une deuxième réponse
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarView/$delta",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('user0@contoso.com')/Events('AAMkAD0jAAA=')",
"@odata.etag": "W/\"P2fd7QAAAAAVFA==\"",
"Id": "AAMkADNkNmVlOTITVAAAAAA0jAAA=",
"ChangeKey": "P2fdmIU1QAAAAAVFA==",
"Categories": [
],
"DateTimeCreated": "2015-04-15T18:59:11.0226221Z",
"DateTimeLastModified": "2015-04-15T18:59:11.0694979Z",
"Subject": "1 hour",
"BodyPreview": "\u200b",
"Body": {
"ContentType": "HTML",
"Content": "<html><body>content</body></html>"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2015-04-16T18:00:00",
"TimeZone": "Pacific Standard Time"
}
"End": {
"DateTime": "2015-04-16T19:00:00",
"TimeZone": Pacific Standard Time"
}
"ReminderMinutesBeforeStart": "15",
"IsReminderOn": "true",
"Location":{
"DisplayName":"",
"LocationType":"Default",
"Address":{
"Type":"Unknown"
},
"Coordinates":{
}
},
"Locations":[
],
"ResponseStatus": {
"Response": "Organizer",
"Time": "0001-01-01T00:00:00Z"
},
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [
],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "user0@contoso.com",
"Name": "user0"
}
},
"iCalUId": "040000008200E09BB89A316862",
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADNkNmVlOAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"OnlineMeetingUrl": null
}
],
"@odata.nextLink": "https://outlook.office.com/api/beta/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}
Rechercher des heures de réunion
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Rechercher les heures de réunion proposées en fonction de la disponibilité de l’organisateur et des participants, des contraintes géographiques et des impératifs de temps spécifiés dans les paramètres.
Cette opération s'applique uniquement aux boîtes de réception Office 365 (sur Azure AD) et non aux comptes Microsoft.
POST https://outlook.office.com/api/{version}/me/findmeetingtimes
Tous les paramètres pris en charge sont répertoriés ci-dessous. En fonction de votre scénario, spécifiez les paramètres nécessaires dans le corps de la demande de l’actionFindMeetingTimes.
Paramètre | Type | Description | Requis ? |
---|---|---|---|
Participants | Collection (Base de participants) | Participants ou ressources pour la réunion. Une collection vide incite FindMeetingTimes à chercher des créneaux horaires libres pour l'organisateur uniquement. | Facultatif |
IsOrganizerOptional | Edm.Boolean | Spécifiez true si la présence de l’organisateur n’est pas obligatoire. La valeur par défaut est false . |
Facultatif |
LocationConstraint | LocationConstraint | Exigences de l’organisateur concernant le lieu de la réunion, par exemple, si le lieu de la réunion doit être proposé ou s’il existe des lieux spécifiques où la réunion doit uniquement avoir lieu. | Facultatif |
MaxCandidates | Edm.Int32 | Le nombre maximal de suggestions de réunion à retourner dans la réponse. | Facultatif |
MeetingDuration | Edm.Duration | La durée de la réunion exprimée en format ISO 8601 pour les durées. Par exemple, PT1H représente une heure. Si aucune durée de réunion n'est spécifiée, FindMeetingTimes utilise la valeur par défaut de 30 minutes. |
Facultatif |
MinimumAttendeePercentage | Edm.Double | Niveau de probabilité minimal de participation requis pour un créneau horaire, à renvoyer dans la réponse. Il s’agit d’un pourcentage compris entre 0 et 100. | Facultatif |
ReturnSuggestionReasons | Edm.Boolean | Spécifiez true pour retourner un motif pour chaque suggestion de réunion dans la propriété SuggestionReason. La valeur par défaut est de false pour ne pas retourner cette propriété. |
Facultatif |
TimeConstraint | TimeConstraint | Toutes les restrictions de temps d'une réunion, qui peuvent inclure la nature de la réunion (ActivityDomain) et les heures de réunion possible (TimeSlots). FindMeetingTimes suppose que ActivityDomain est Work si vous ne spécifiez pas ce paramètre. |
Facultatif |
FindMeetingTimes vérifie le statut libre/occupé dans les principaux calendriers de l'organisateur et des participants. Sur la base des paramètres spécifiés, l’action suggère les meilleurs heures de réunion possibles. Le tableau suivant décrit les restrictions que vous pouvez spécifier dans le paramètre TimeConstraint.
Valeur ActivityDomain dans TimeConstraint | Suggestions pour les heures de réunion |
---|---|
Travail | Les suggestions sont contenues dans les heures de travail de l’utilisateur qui sont définies dans les paramètres de l’agenda de l’utilisateur. Elles peuvent être personnalisées par l’utilisateur ou l’administrateur. Les heures de travail par défaut sont du lundi au vendredi de 8 heures à 17 heures dans le fuseau horaire défini pour la boîte mail. C'est la valeur par défaut si aucune ActivityDomain n'est spécifiée. |
Personnel | Les suggestions sont comprises dans les heures de travail de l’utilisateur, y compris le samedi et le dimanche. La valeur par défaut est de lundi à dimanche, de 8 heures à 17 heures dans le fuseau horaire défini pour la boîte aux lettres. |
Illimité | Les suggestions peuvent correspondre à n’importe quelle heure de la journée, tous les jours de la semaine. |
Inconnu | N'utilisez pas cette valeur, car elle deviendra obsolète dans le futur. Se comporte actuellement comme Travail. Modifiez le code existant pour utiliser Travail, Personnel ou Illimité le cas échéant. |
Type de réponse
Une MeetingTimeSuggestionsResult qui comprend une collection de suggestions de réunions, chacune de type MeetingTimeSuggestion, et une propriété EmptySuggestionsReason.
Chaque suggestion est définie comme MeetingTimeSuggestion, avec les participants ayant par défaut 50% de probabilité d'y assister, ou un pourcentage % spécifique que vous aurez spécifié dans le paramètre MinimumAttendeePercentage.
Par défaut, chaque suggestion de réunion est renvoyée au format UTC. Appliquez la requête d’en-tête Prefer: outlook.timezone
pour que les suggestions d'heures de réunion soient renvoyées dans un fuseau horaire différent, par exemple :
Prefer: outlook.timezone="Pacific Standard Time"
Si FindMeetingTimes ne peut renvoyer aucune suggestion de réunion, la réponse pourrait indiquer une raison dans la propriétéEmptySuggestionsReason. En fonction de cette valeur, vous pouvez mieux ajuster les paramètres et rappeler FindMeetingTimes.
Notes
Actuellement, FindMeetingTimes suppose que tout Participant qui est une personne (par opposition à une ressource) soit un participant requis. Alors, spécifiez Required
pour une personne et Resource
pour une ressource ayant la propriété Type correspondante, une partie du paramètre de collection Participants.
Chaque exemple ci-dessous appelle FindMeetingTimes et varie selon la disponibilité des participants, l'heure et les contraintes d’emplacement :
- Recherchez l'heure et le lieu pour rencontrer les participants
- Recherchez l'heure de la rencontre à un endroit connu, et recueillez un motif pour chaque suggestion
- Recherchez l'heure de la réunion, mais avec aucun participant disponible
- Trouver le temps de se rencontrer, mais seulement quelques participants disponibles
- Trouvez des créneaux horaires libres pour l'utilisateur connecté
Trouver l'heure et le lieu pour rencontrer les participants
Trouver les heures et les lieux pour se rencontrer en spécifiant les paramètres suivants dans le corps de la demande :
- Participants
- TimeConstraint
- MeetingDuration
Exemple de demande
L'exemple suivant suggère des heures et des lieux de réunion en tenant compte de la disponibilité de l'organisateur et du participant pendant les heures de travail de la plage de temps sollicitée, et de la durée sollicitée.
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Tokyo conference room",
"LocationType": "Default"
}
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T11:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Paris conference room",
"LocationType": "Default"
}
]
}
],
"EmptySuggestionsReason": ""
}
Recherchez l'heure de la rencontre à un endroit connu, et recueillez un motif pour chaque suggestion
L’exemple suivant montre comment trouver une heure pour se réunir dans un lieu prédéterminé et demander une raison pour chaque proposition, en spécifiant les paramètres suivants dans le corps de la demande :
- Participants
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
En définissant le paramètre ReturnSuggestionReasons, vous obtenez également une explication pour chaque suggestion de la propriété suggestionReason, si findMeetingTimes renvoie une suggestion.
Exemple de demande
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T07:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H",
"ReturnSuggestionReasons": "true"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T12:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
{
"Attendee": {
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability": "Free"
}
],
"Locations": [
{
"DisplayName": "Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
}
],
"EmptySuggestionsReason": ""
}
Recherchez l'heure de la réunion, mais avec aucun participant disponible
Recherchez l'heure de la réunion dans un lieu prédéterminé, en spécifiant les paramètres suivants dans le corps de la requête :
- Participants
- LocationConstraint
- TimeConstraint
- MeetingDuration
Dans cet exemple, en fonction des paramètres spécifiés et de la disponibilité des participants, FindMeetingTimes ne peut renvoyer aucune suggestion, mais renvoie plutôt un motif AttendeesUnavailable
dans la propriété EmptySuggestionsReason.
Voir d’autres motifs possibles pour ne pas retourner les suggestions de réunion.
Exemple de demande
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T7:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T14:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT2H"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
],
"EmptySuggestionsReason": "AttendeesUnavailable"
}
Recherchez l'heure de la réunion, mais avec seulement quelques participants disponibles
Recherchez l'heure de la réunion dans un lieu prédéterminé, en spécifiant les paramètres suivants dans le corps de la requête :
- Participants
- LocationConstraint
- TimeConstraint
- MeetingDuration
- ReturnSuggestionReasons
- MinimumAttendeePercentage
Dans cet exemple, seul l'un des deux participants est disponible. Chaque suggestion de réunion renvoyée par FindMeetingTimes comprend :
- La disponibilité de chaque participant.
- Une probabilité de réunion calculée par ordinateur et qui constitue la moyenne de % de chance d'avoir des participants présents. Cette valeur doit respecter l'exigence de 60 % spécifiée dans MinimumAttendeePercentage.
- Un SuggestionHint, étant donné que le paramètreReturnSuggestionReasons est défini.
Trouvez plus d'informations sur la probabilité d'une réunion.
Exemple de demande
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [
{
"Type": "Required",
"EmailAddress": {
"Name": "Fanny",
"Address": "fannyd@prosewareltd.onmicrosoft.com"
}
},
{
"Type": "Optional",
"EmailAddress": {
"Name": "Dana",
"Address": "danas@prosewareltd.onmicrosoft.com"
}
}
],
"LocationConstraint": {
"IsRequired": "false",
"SuggestLocation": "false",
"Locations": [
{
"ResolveAvailability": "false",
"DisplayName": "Conf room Hood"
}
]
},
"TimeConstraint": {
"ActivityDomain":"Work",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T09:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T17:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H",
"ReturnSuggestionReasons": "true",
"MinimumAttendeePercentage": "60"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions":[
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T10:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":100.0,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
},
{
"MeetingTimeSlot":{
"Start":{
"DateTime":"2016-05-20T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2016-05-20T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
}
},
"Confidence":74.5,
"OrganizerAvailability":"Free",
"AttendeeAvailability":[
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Fanny",
"Address":"fannyd@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Free"
},
{
"Attendee":{
"Type":"Required",
"EmailAddress":{
"Name": "Dana",
"Address":"danas@prosewareltd.onmicrosoft.com"
}
},
"Availability":"Unknown"
}
],
"Locations":[
{
"DisplayName":"Conf room Hood"
"LocationType": "Default"
}
],
"SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
}
],
"EmptySuggestionsReason":""
}
Trouvez des créneaux horaires libres pour l'utilisateur connecté
Trouver des plages horaires libres dans le calendrier principal de l'utilisateur connecté à tout moment de la semaine dans une plage de dates, en spécifiant les paramètres suivants dans le corps de la demande :
- TimeConstraint
- MeetingDuration
Exemple de demande
Cet exemple recherche des créneaux horaires libres d'une heure, tel que spécifié par MeetingDuration, dans l’agenda principal de l'utilisateur connecté à tout moment de la semaine dans une plage de dates spécifiée parTimeConstraint.
POST https://outlook.office.com/api/beta/me/findmeetingtimes
Prefer: outlook.timezone="Pacific Standard Time"
Content-Type: application/json
{
"Attendees": [],
"TimeConstraint": {
"ActivityDomain":"Unrestricted",
"Timeslots": [
{
"Start": {
"DateTime": "2016-05-20T06:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T23:00:00",
"TimeZone": "Pacific Standard Time"
}
}
]
},
"MeetingDuration": "PT1H"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
"MeetingTimeSuggestions": [
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-20T06:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-20T07:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-21T09:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-21T10:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
},
{
"MeetingTimeSlot": {
"Start": {
"DateTime": "2016-05-22T19:00:00.0000000",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2016-05-22T20:00:00.0000000",
"TimeZone": "Pacific Standard Time"
}
},
"Confidence": 100.0,
"OrganizerAvailability": "Free",
"AttendeeAvailability": [
],
"Locations": [
]
}
],
"EmptySuggestionsReason": ""
}
Obtenir des salles de réunion (aperçu)
Sous Outlook, un client peut organiser des salles de réunion en listes de salles. Chaque salle de réunion et liste de salle est représentée par une instance EmailAddress.
- Obtenir des listes de salles (Aperçu)
- Obtenir des salles (aperçu)
Obtenir des listes de salles (Aperçu)
Étendue minimale requise
Un des éléments suivants :
- User.Read.All
- __ User.ReadBasic.All_
Obtenir les listes de salles définies pour un participant.
GET https://outlook.office.com/api/beta/me/findroomlists
Type de réponse
Collecte des instances EmailAddress. Si aucune liste n'est définie pour le participant, un tableau vide est renvoyé.
Exemple de demande
GET https://outlook.office.com/api/beta/me/findroomlists
Exemple de réponse
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Building 1 Rooms",
"Address":"Building1Rooms@contoso.onmicrosoft.com"
},
{
"Name":"Building 2 Rooms",
"Address":"Building2Rooms@contoso.onmicrosoft.com"
}
]
}
Obtenir des salles (aperçu)
Étendue minimale requise
Un des éléments suivants :
- User.Read.All
- User.ReadBasic.All
Vous pouvez obtenir toutes les salles de réunion définies pour le participant de l’utilisateur, ou obtenir les salles de réunion dans une liste de salles spécifique.
Notes
Ces opérations renvoient aux 100 premières salles d'un participant.
Pour obtenir toutes les salles pour le participant de l'utilisateur :
GET https://outlook.office.com/api/beta/me/findrooms
Pour obtenir les salles dans une liste de salles spécifiée :
GET https://outlook.office.com/api/beta/me/findrooms(roomlist='{room_list}')
Paramètre facultatif | Type | Description |
---|---|---|
Paramètre de fonction | ||
room_list | chaîne | L'adresse SMTP associée à la liste de salles. Chaque liste de salles est représentée par une instance EmailAddress qui inclut une adresse SMTP. |
Type de réponse
Collecte des instances EmailAddress.
Exemple de demande
L'exemple suivant obtient les salles définies pour le participant de l'utilisateur connecté.
GET https://outlook.office.com/api/beta/me/findrooms
Exemple de réponse
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Conf Room Adams",
"Address":"Adams@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Baker",
"Address":"Baker@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Crystal",
"Address":"Crystal@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Hood",
"Address":"Hood@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Rainier",
"Address":"Rainier@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Stevens",
"Address":"Stevens@contoso.onmicrosoft.com"
},
{
"Name":"SurfaceHub",
"Address":"SurfaceHub@contoso.onmicrosoft.com"
}
]
}
Exemple de demande
L'exemple suivant récupère les salles de la liste de salles spécifiée par l'adresse e-mail Building2Rooms@contoso.onmicrosoft.com.
GET https://outlook.office.com/api/beta/me/findrooms(roomlist='Building2Rooms@contoso.onmicrosoft.com')
Exemple de réponse
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.EmailAddress)",
"value":[
{
"Name":"Conf Room Baker",
"Address":"Baker@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Hood",
"Address":"Hood@contoso.onmicrosoft.com"
},
{
"Name":"Conf Room Rainier",
"Address":"Rainier@contoso.onmicrosoft.com"
}
]
}
Créer des événements
Créer un événement de calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Créer un événement dans le calendrier principal de l’utilisateur ou un calendrier spécifique en le publiant dans le point de terminaison events
du calendrier. Lorsque l’événement est créé, le serveur envoie des invitations à tous les participants.
POST https://outlook.office.com/api/beta/me/events
POST https://outlook.office.com/api/beta/me/calendars/{calendar_id}/events
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_id | chaîne | L'ID du calendrier. |
Exemple de demande
L'exemple suivant crée un événement pour l’organisateur et auquel doivent assister des participants de trois localisations différentes.
POST https://outlook.office.com/api/beta/me/events
Content-Type: application/json
{
"Subject": "Plan summer company picnic",
"Body": {
"ContentType": "HTML",
"Content": "Let's kick-start this event planning!"
},
"Start": {
"DateTime": "2017-06-09T11:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2017-06-09T12:00:00",
"TimeZone": "Pacific Standard Time"
},
"Attendees": [
{
"EmailAddress": {
"Address": "AdeleV@contoso.onmicrosoft.com",
"Name": "Adele Vance"
},
"Type": "Required"
},
{
"EmailAddress": {
"Address": "AlexW@contoso.onmicrosoft.com",
"Name": "Alex Wilber"
},
"Type": "Required"
}
],
"Location": {
"DisplayName": "Conf Room 3; Fourth Coffee; Home Office",
"LocationType": "Default"
},
"Locations": [
{
"DisplayName": "Conf Room 3",
},
{
"DisplayName": "Fourth Coffee",
"Address": {
"Street": "4567 Main St",
"City": "Redmond",
"State": "WA",
"CountryOrRegion": "US",
"PostalCode": "32008"
},
"Coordinates": {
"Latitude": 47.672,
"Longitude": -102.103
},
"LocationType": "LocalBusiness"
},
{
"DisplayName": "Home Office",
}
]
}
Exemple de réponse
Code d’état : 201
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/Events('AAMkADNCYBXsvAAA=')",
"@odata.etag":"W/\"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==\"",
"Id":"AAMkADNCYBXsvAAA=",
"CreatedDateTime":"2017-06-06T19:59:23.003773-07:00",
"LastModifiedDateTime":"2017-06-06T19:59:24.8432785-07:00",
"ChangeKey":"SuFHwDRP1EeXJUopWbSLlgAAmBvk2g==",
"Categories":[
],
"OriginalStartTimeZone":"Pacific Standard Time",
"OriginalEndTimeZone":"Pacific Standard Time",
"iCalUId":"040000008200E00074C5B7101A82E008000000000FD9CB103ADFD20100000000000000001000000026DB266A0E3C4A4FB15DC14FFFB1469D",
"ReminderMinutesBeforeStart":15,
"IsReminderOn":true,
"HasAttachments":false,
"Subject":"Plan summer company picnic",
"BodyPreview":"Let's kick-start this event planning!",
"Importance":"Normal",
"Sensitivity":"Normal",
"IsAllDay":false,
"IsCancelled":false,
"IsOrganizer":true,
"ResponseRequested":true,
"SeriesMasterId":null,
"ShowAs":"Busy",
"Type":"SingleInstance",
"WebLink":"https://outlook.office365.com/owa/?itemid=AAMkADNCYBXsvAAA%3D&exvsurl=1&path=/calendar/item",
"OnlineMeetingUrl":null,
"ResponseStatus":{
"Response":"Organizer",
"Time":"0001-01-01T00:00:00Z"
},
"Body":{
"ContentType":"HTML",
"Content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nLet's kick-start this event planning!\r\n</body>\r\n</html>\r\n"
},
"Start":{
"DateTime":"2017-06-09T11:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"End":{
"DateTime":"2017-06-09T12:00:00.0000000",
"TimeZone":"Pacific Standard Time"
},
"Location":{
"DisplayName":"Conf Room 3; Fourth Coffee; Home Office",
"LocationType":"Default"
},
"Locations":[
{
"DisplayName":"Conf Room 3",
"LocationType":"Default"
},
{
"DisplayName":"Fourth Coffee",
"LocationType":"Default",
"Address":{
"Type":"Unknown",
"Street":"4567 Main St",
"City":"Redmond",
"State":"WA",
"CountryOrRegion":"US",
"PostalCode":"32008"
},
"Coordinates":{
"Latitude":47.672,
"Longitude":-102.103
}
},
{
"DisplayName":"Home Office",
"LocationType":"Default"
}
],
"Recurrence":null,
"Attendees":[
{
"Type":"Required",
"Status":{
"Response":"None",
"Time":"0001-01-01T00:00:00Z"
},
"EmailAddress":{
"Name":"Adele Vance",
"Address":"AdeleV@contoso.onmicrosoft.com"
}
},
{
"Type":"Required",
"Status":{
"Response":"None",
"Time":"0001-01-01T00:00:00Z"
},
"EmailAddress":{
"Name":"Alex Wilber",
"Address":"AlexW@contoso.onmicrosoft.com"
}
}
],
"Organizer":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"OnlineMeeting":null
}
Type de réponse
Le nouvel événement.
Par défaut, la réponse inclut toutes les propriétés du nouvel événement. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée.
Ceci est un exemple illustrant comment inclure uniquement les propriétés Début et Fin du nouvel événement dans la réponse.
POST https://outlook.office.com/api/beta/me/events?$Select=Start,End
Mise à jour d’événements
Mettre à jour un événement de calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Modifier un événement. Seules les propriétés que vous spécifiez sont modifiées. Si l'utilisateur est l'organisateur, le serveur envoie des mises à jour de réunion à tous les participants.
PATCH https://outlook.office.com/api/beta/me/events/{event_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Spécifiez toutes les propriétés d’événement accessibles en écriture dans le corps de la requête.
PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE1MFKPQWAAA=?$select=Location
Exemple de demande
PATCH https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json
{
"Location": {
"DisplayName": "Conference Rome",
"LocationType": "ConferenceRoom"
}
}
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE0M4v1OAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==\"",
"Id": "AAMkAGE0M4v1OAAA=",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheQ==",
"Categories": [],
"CreatedDateTime": "2014-01-22T20:49:05.5657528Z",
"LastModifiedDateTime": "2014-01-22T21:14:17.4886416Z",
"Subject": "Discuss the Calendar REST API",
"BodyPreview": "I think it will meet our requirements!",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n</head>\r\n<body>\r\nI think it will meet our requirements!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"Start": {
"DateTime": "2014-02-02T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"End": {
"DateTime": "2014-02-02T19:00:00",
"TimeZone": "Pacific Standard Time"
},
"Location": {
"DisplayName": "Conference Rome",
"LocationType": "ConferenceRoom"
},
"Locations":[
{
"DisplayName":"Conference Rome",
"LocationType":"ConferenceRoom"
}
],
"ShowAs": "Busy",
"IsAllDay": false,
"IsCancelled": false,
"IsOrganizer": true,
"ResponseRequested": true,
"Type": "SingleInstance",
"SeriesMasterId": null,
"Attendees": [],
"Recurrence": null,
"OriginalEndTimeZone": "Pacific Standard Time",
"OriginalStartTimeZone": "Pacific Standard Time",
"Organizer": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "alexd"
}
},
"OnlineMeetingUrl": null
}
Type de réponse
Lévénement mis à jour. Si l'utilisateur est l'organisateur, le serveur envoie des mises à jour de réunion à tous les participants.
Par défaut, la réponse inclut toutes les propriétés de l’événement mis à jour. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. La propriété Id est toujours renvoyée.
Répondre aux événements
Accepter un événement
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Accepte l’événement spécifié.
POST https://outlook.office.com/api/beta/me/events/{event_id}/accept
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. Obligatoire. |
Paramètres de corps | ||
Commentaire | chaîne | Texte inclus dans la réponse. Facultatif. |
SendResponse | booléen | true Si une réponse est envoyée à l’organisateur ; sinon false . Facultatif. La valeur par défaut est true . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/accept
Content-Type: application/json
{
"Comment": "Great idea!",
"SendResponse": "true"
}
Réponse
Une réponse réussie est indiquée par un code de réponse acceptée HTTP 202.
Acceptation provisoire d'un événement
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Accepte provisoirement l’événement spécifié.
POST https://outlook.office.com/api/beta/me/events/{event_id}/tentativelyaccept
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. Obligatoire. |
Paramètres de corps | ||
Commentaire | chaîne | Texte inclus dans la réponse. Facultatif. |
SendResponse | booléen | true Si une réponse est envoyée à l’organisateur ; sinon false . Facultatif. La valeur par défaut est true . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/tentativelyaccept
Content-Type: application/json
{
"Comment": "I'll confirm later!",
"SendResponse": "true"
}
Réponse
Une réponse réussie est indiquée par un code de réponse acceptée HTTP 202.
Décliner un événement
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Refuser l’invitation à l’événement spécifié.
POST https://outlook.office.com/api/beta/me/events/{event_id}/decline
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. Obligatoire. |
Paramètres de corps | ||
Commentaire | chaîne | Texte inclus dans la réponse. Facultatif. |
SendResponse | booléen | true Si une réponse est envoyée à l’organisateur ; sinon false . Facultatif. La valeur par défaut est true . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1M2IyNGNmLTI5MT_bs88AAAXDJwEAAA=')/decline
Content-Type: application/json
{
"Comment": "Sorry, maybe next time!",
"SendResponse": "true"
}
Réponse
Une réponse réussie est indiquée par un code de réponse acceptée HTTP 202.
Transférer les événements (aperçu)
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Cette action permet à l'organisateur ou au participant à un événement de réunion de transmettre la demande de réunion à un nouveau destinataire.
Lorsque l’événement de réunion est transféré d'une boîte aux lettres Office 365 à un autre destinataire, cette action envoie également un message pour notifier l’organisateur du transfert et ajoute le destinataire à la copie d’événement de réunion de l’organisateur. Cette fonctionnalité n'est pas disponible lors du transfert à partir d'un compte Outlook.com.
POST https://outlook.office.com/api/beta/me/events('{event_id}')/forward
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Paramètres de corps | ||
Commentaire | chaîne | Commentaire à inclure. Peut être une chaîne vide. |
ToRecipients | Collection(Récipient) | La liste des destinataires à qui l'événement est transféré. |
Exemple de demande
POST https://outlook.office.com/api/beta/me/events('AQMkADJmMTU4AAAA=')/forward
Content-Type: application/json
{
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
],
"Comment": "Dana, hope you can make this meeting."
}
Exemple de réponse
Status code: 202 Accepted
Supprimer des événements
Supprimer un événement de calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Déplacer un événement dans le dossier Éléments supprimés de l’utilisateur connecté. Si l’événement est une réunion et que l’utilisateur connecté en est l'organisateur, le serveur envoie des annulations à tous les participants.
Cette action diffère de l’action Annuler en cela que l’action Effacer est à la portée de l’organisateur et des participants de la réunion. Si l’utilisateur connecté est l'organisateur de la réunion, l’utilisateur annule simplement la réunion sans fournir de message d’annulation personnalisé aux participants.
DELETE https://outlook.office.com/api/beta/me/events/{event_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=
Exemple de réponse
Status code: 204
Annuler des événements (aperçu)
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Cette action permet à l’organisateur d’une réunion d’envoyer un message d’annulation et d’annuler l’événement.
L'action déplace l’événement dans le dossier Éléments supprimés. L’organisateur peut également annuler une occurence d’une réunion récurrente en fournissant l’ID d’événement d’occurence. Un participant appelant cette action reçoit un message d’erreur (HTTP 400 Bad Request) formulé comme suit :
Votre demande ne peut être traitée. Vous devez être un organisateur pour annuler une réunion."
Cette action diffère de l’action Effacer, car Annuler est disponible uniquement pour l’organisateur et permet à ce dernier d’envoyer un message personnalisé aux participants concernant l’annulation.
POST https://outlook.office.com/api/beta/me/events/{event_id}/Cancel
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Paramètres de corps | ||
Commentaire | chaîne | Un commentaire sur l'annulation envoyée à tous les participants. |
Exemple de demande
POST https://outlook.office.com/api/beta/me/events/AAMkAGE0M4v1OAAA=/Cancel
Content-Type: application/json
{
"Comment": "Cancelling this meeting as there is a time conflict for most folks."
}
Exemple de réponse
Status code: 202
Obtention des pièces jointes
Vous pouvez obtenir une collection de pièces jointes ou une pièce jointe.
Obtenir une collection de pièces jointes
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir des pièces jointes d'un événement spécifique.
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Type de réponse
Une collection de pièces jointes pouvant être du type FileAttachment, ItemAttachment, ou ReferenceAttachment.
Exemple de demande
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2NGTG9yAAA=/attachments
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2NGTG9yAAA=')/Attachments('AAMkAGI2NGLwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2NGLwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "2014-10-22T00:30:26Z",
"Name": "Company Party.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11647,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQDfpNJs...AAF4pAAAAAA=="
}
]
}
Obtenir une pièce jointe
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir une pièce jointe d'un événement particulier.
GET https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
attachment_id | chaîne | ID de la pièce jointe. |
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Type de réponse
Le fichier joint, l’élément joint, ou la référence jointe demandés.
Exemple de demande
L'exemple suivant obtient le fichier joint à un événement spécifique.
GET https://outlook.office.com/api/beta/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2WRAAADTG9yAAA=')/Attachments('AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=')",
"Id": "AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=",
"LastModifiedDateTime": "2014-10-22T00:30:26Z",
"Name": "Company Party.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11647,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQD...AAF4pAAAAAA=="
}
Exemple de requête (référence jointe)
L’exemple suivant obtient la pièce jointe de référence d’un événement.
GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments('AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=')
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
Exemple de requête ($expand sur les pièces jointes)
L'exemple suivant obtient et développe les deux pièces jointes de référence en cohérence avec les propriétés de l'événement.
GET https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events/$entity",
"@odata.etag": "W/\"mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==\"",
"id": "AAMkAGE1Mbs88AADggYEcAAA=",
"createdDateTime": "2016-03-22T22:19:58.1359352Z",
"lastModifiedDateTime": "2016-03-22T22:39:09.9335289Z",
"changeKey": "mODEKWhc/Um6lA3uPm7PPAAA4KZrtA==",
"categories": [
],
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"responseStatus": {
"response": "organizer",
"time": "0001-01-01T00:00:00Z"
},
"iCalUId": "040000008200E00074C5B7101A82E008000000005895FCF78884D10100000000000000001000000099DD7CA6BCF37C4F9F7DAACCADDD6B89",
"reminderMinutesBeforeStart": 15,
"isReminderOn": true,
"hasAttachments": true,
"subject": "Plan Easter egg hunt!",
"body": {
"contentType": "html",
"content": "<html>\r\n<body>\r\nLet's get organized for this weekend's gathering.\r\n</body>\r\n</html>\r\n"
},
"bodyPreview": "Let's get organized for this weekend's gathering.",
"importance": "normal",
"sensitivity": "normal",
"start": {
"dateTime": "2016-03-26T17:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2016-03-26T18:00:00.0000000",
"timeZone": "UTC"
},
"location": {
"displayName": "",
"locationType": "default",
"address": {
"type": "unknown"
},
"coordinates": {
}
},
"locations": [
],
"isAllDay": false,
"isCancelled": false,
"isOrganizer": true,
"recurrence": null,
"responseRequested": true,
"seriesMasterId": null,
"showAs": "busy",
"type": "singleInstance",
"attendees": [
{
"status": {
"response": "none",
"time": "0001-01-01T00:00:00Z"
},
"type": "required",
"emailAddress": {
"name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"organizer": {
"emailAddress": {
"name": "Dana Swope",
"address": "danas@contoso.onmicrosoft.com"
}
},
"webLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADggYEcAAA%3D&exvsurl=1&viewmodel=ICalendarItemDetailsViewModelFactory",
"onlineMeetingUrl": null,
"attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments",
"attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"lastModifiedDateTime": "2016-03-22T22:27:20Z",
"name": "Hydrangea picture",
"contentType": null,
"size": 412,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAE1rHHth7YNLlR9WsgnODy0=",
"lastModifiedDateTime": "2016-03-22T22:39:09Z",
"name": "Koala picture",
"contentType": null,
"size": 382,
"isInline": false,
"sourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"providerType": "oneDriveBusiness",
"thumbnailUrl": null,
"previewUrl": null,
"permission": "edit",
"isFolder": false
}
]
}
Exemple de requête ($expand sur des éléments joints imbriqués)
L’exemple suivant obtient un élément de pièce jointe imbriqué.
GET https://outlook-sdf.office.com/api/beta/me/events/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Exemple de réponse
Status code: 200
{
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2017-04-25T20:05:55Z",
"Name": "RE: Changes to GetConditionMetadata handler",
"ContentType": null,
"Size": 78927,
"IsInline": false,
"Item": {
"Id": "",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
}
Créer des pièces jointes
Vous pouvez créer une pièce jointe ou créer un élément joint pour un événement.
Créer un fichier joint
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Ajouter un fichier joint à un événement.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Paramètres de corps | ||
@odata.type | chaîne | #Microsoft.OutlookServices.FileAttachment |
Nom | chaîne | Nom de la pièce jointe. |
ContentBytes | binaire | Le fichier à joindre. |
Type de réponse
Le nouveau fichier joint.
Créer un élément joint
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Ajouter un élément joint à un événement.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
Paramètres de corps | ||
@odata.type | chaîne | #Microsoft.OutlookServices.ItemAttachment |
Nom | chaîne | Nom de la pièce jointe. |
Élément | Une entité Message, Événement, ou Contact. | L’élément à joindre. |
Type de réponse
Le nouvel élément joint.
Créer une référence jointe
Étendue minimale requise
https://outlook.office.com/calendars.readwrite
Ajouter une référence jointe à un événement.
POST https://outlook.office.com/api/beta/me/events/{event_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | Chaîne | L'ID d'événement. |
Paramètres de corps | ||
@odata.type | Chaîne | #Microsoft.OutlookServices.ReferenceAttachment |
Nom | Chaîne | Nom d’affichage de la pièce jointe. Obligatoire. |
SourceUrl | Chaîne | URL permettant d’obtenir le contenu de la pièce jointe. S'il s'agit d'une URL vers un dossier, pour que le dossier s'affiche correctement dans Outlook ou Outlook sur le Web, définissez la valeur IsFolder à vrai. Obligatoire. |
Spécifie les paramètres Name, SourceUrl et toute propriété référence jointe inscriptible dans le corps de la requête.
Type de réponse
La référence jointe.
Exemple de demande
L’exemple suivant ajoute une référence jointe à une tâche existante. La pièce jointe est un lien vers un fichier sur OneDrive Entreprise.
POST https://outlook.office.com/api/beta/me/events('AAMkAGE1Mbs88AADggYEcAAA=')/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Hydrangea picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Exemple de réponse
Code d’état : 201 Créé
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/events('AAMkAGE1Mbs88AADggYEcAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADggYEcAAABEgAQAABWAoLgP3REt_LWRG8ORv4=",
"LastModifiedDateTime": "2016-03-22T22:27:20Z",
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 412,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "oneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
Supprimer les pièces jointes
Supprimer la pièce jointe d’un événement
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Supprimer la pièce jointe spécifiée d’un événement. La pièce jointe peut être un fichier joint, un élément joint, ou une référence jointe.
DELETE https://outlook.office.com/api/beta/me/events/{event_id}/attachments/{attachment_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
event_id | chaîne | L'ID d'événement. |
attachment_id | chaîne | ID de la pièce jointe. |
Exemple de demande
DELETE https:/outlook.office.com/api/beta/me/events/AAMkAGE0MG4v1OAAA=/attachments/AAMkAGITG9yAAA=
Exemple de réponse
Status code: 204
Obtenir des rappels
Obtenez une liste de rappels d'événements entre deux dates et heures à partir du calendrier.
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
GET https://outlook.office.com/api/beta/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
Paramètre requis | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence : | outlook.timezone | Le fuseau horaire par défaut pour les événements dans la réponse. |
Paramètres d'URL | ||
StartDateTime | chaîne | La date et l'heure de début des rappels renvoyés. |
EndDateTime | chaîne | La date et l'heure de fin pour les rappels renvoyés. |
Utilisez l’en-tête Prefer: outlook.timezone pour spécifier le fuseau horaire à utiliser pour les heures de début et de fin de l'événement dans la réponse. Si l’événement a été créé dans un fuseau horaire différent, les heures de début et de fin seront ajustées au fuseau horaire spécifié.
Voir cette liste de noms pour le fuseau horaire pris en charge. Si l’en-tête Prefer: outlook.timezone n'est pas spécifié, le fuseau horaire est défini sur UTC.
Mettre les rappels en veilleuse
Mettez un rappel en veilleuse pour le reporter à une heure ultérieure.
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
POST https://outlook.office.com/api/beta/me/Events('{id}')/SnoozeReminder
Paramètres requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
id | chaîne | L’ID de l’événement. |
Paramètres de corps | ||
NewReminderTime | DateTimeTimeZone | Nouvelles date et heure de déclenchement du rappel. |
Ignorer les rappels
Masquer un rappel qui a été activé.
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
POST https://outlook.office.com/api/beta/me/Events({id})/DismissReminder
Paramètres requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
id | chaîne | L’ID de l’événement. |
Obtenir des calendriers
Obtenir des calendriers
Obtenir une collection de calendriers
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir tous les calendriers de l’utilisateur (calendars
) ou obtenir les calendriers d’un groupe de calendriers spécifiques.
GET https://outlook.office.com/api/beta/me/calendars
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calender_group_id | chaîne | L’ID du groupe de calendriers. |
Exemple de demande
GET https://outlook.office.com/api/beta/me/calendars
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"IsDefaultCalendar": true,
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
]
}
Obtenir un calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir un calendrier par ID. Vous pouvez obtenir le calendrier principal de l’utilisateur à l’aide du point de terminaison ../me/calendar
.
GET https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_id | chaîne | L'ID du calendrier. |
Exemple de demande
GET https://outlook.office.com/api/beta/me/calendars/AAMkAGI2TGuLAAA=
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
"Id": "AAMkAGI2TGuLAAA=",
"Name": "Calendar",
"Color": "Auto",
"IsDefaultCalendar": true,
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Type de réponse
Le calendrier demandé.
Créer des agendas
Créer un calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Créez un calendrier dans le groupe de calendriers par défaut en utilisant le raccourci ../me/calendars
, ou dans un groupe de calendriers spécifique en publiant dans le point de terminaison calendars
du groupe.
POST https://outlook.office.com/api/beta/me/calendars
POST https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}/calendars
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calender_group_id | chaîne | L’ID du groupe de calendriers, si vous obtenez les calendriers d'un groupe spécifique. |
Paramètres de corps | ||
Nom | chaîne | Le nom du nouveau calendrier. |
Exemple de demande
POST https://outlook.office.com/api/beta/me/calendars
Content-Type: application/json
{
"Name": "Volunteer"
}
Exemple de réponse
Code d’état : 201
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
"Id":"AAMkADJmMVAAA=",
"Name":"Volunteer",
"Color":"Auto",
"IsDefaultCalendar":false,
"ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Type de réponse
Le nouveau calendrier.
Mettre à jour les calendriers
Mettre à jour un calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Modifier les propriétés inscriptibles d’un calendrier.
PATCH https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_id | chaîne | L'ID du calendrier. |
Exemple de demande
PATCH https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Content-Type: application/json
{
"Name": "Social events"
}
Exemple de réponse
Code d’état : 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Calendars/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Calendars('AAMkADJmMVAAA=')",
"Id":"AAMkADJmMVAAA=",
"Name":"Social events",
"Color":"Auto",
"IsDefaultCalendar":false,
"ChangeKey":"DxYSthXJXEWwAQSYQnXvIgAAIxGttg==",
"CanShare":true,
"CanViewPrivateItems":true,
"IsShared":false,
"IsSharedWithMe":false,
"CanEdit":true,
"Owner":{
"Name":"Fanny Downs",
"Address":"fannyd@adatum.onmicrosoft.com"
}
}
Type de réponse
Le calendrier mis à jour.
Supprimer des calendriers
Supprimer un calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
DELETE https://outlook.office.com/api/beta/me/calendars/{calendar_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_id | chaîne | L'ID du calendrier. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/calendars/AAMkAGE4xLIAAA=
Exemple de réponse
Status code: 204
Obtenir un groupe de calendriers
calendar_id
Notes
Outlook.com ne prend en charge que le groupe de calendriers par défaut, accessible par le raccourci ../me/calendars
.
Obtenir une collection de groupe de calendriers
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir des groupes de calendriers dans une boîte de réception.
GET https://outlook.office.com/api/beta/me/calendargroups
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Exemple de demande
GET https://outlook.office.com/api/beta/me/calendargroups
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
},
{
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuMAAA=')",
"Id": "AAMkAGI2TGuMAAA=",
"Name": "Other Calendars",
"ClassId": "0006f0b8-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0/A=="
}
]
}
Type de réponse
La collection de groupes de calendriers demandée.
Obtenir un groupe de calendriers
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- calendriers_wl.contacts
Obtenir un groupe de calendriers par ID.
GET https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_group_id | chaîne | L’ID du groupe de calendriers. |
Exemple de demande
GET https://outlook.office.com/api/beta/me/calendargroups/AAMkAGI2TGuKAAA=
Exemple de réponse
Code d’état : 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGI2TGuKAAA=')",
"Id": "AAMkAGI2TGuKAAA=",
"Name": "My Calendars",
"ClassId": "0006f0b7-0000-0000-c000-000000000046",
"ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+g=="
}
Type de réponse
Le groupe de calendriers demandé.
Créer des groupes d’agendas
Créer un groupe de calendriers. Le nom est la seule propriété accessible en écriture pour un groupe de calendriers.
Notes
Outlook.com ne prend en charge que le groupe de calendriers par défaut, accessible par le raccourci ../me/calendars
. Vous ne pouvez pas créer un autre groupe de calendriers dans Outlook.com.
Créer un groupe de calendriers
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
POST https://outlook.office.com/api/beta/me/calendargroups
Paramètre requis | Type | Description |
---|---|---|
Paramètre d'URL | ||
Paramètres de corps | ||
Nom | chaîne | Le nom du groupe de calendriers>. |
Exemple de demande
POST https://outlook.office.com/api/beta/me/calendargroups
Content-Type: application/json
{
"Name": "Birthdays"
}
Exemple de réponse
Code d’état : 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0M4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==\"",
"Id": "AAMkAGE0M4xLGAAA=",
"Name": "Birthdays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Rw==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
Type de réponse
Mettre à jour un calendrier ryTerm">group
Mettre à jour les groupes de calendriers
Mettre à jour un groupe de calendriers
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Changer le nom d'un groupe de calendriers. Le nom est la seule propriété du groupe de calendriers accessible en écriture.
PATCH https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_group_id | chaîne | L’ID du groupe de calendriers. |
Paramètres de corps | ||
Nom | chaîne | L'ID du groupe lossaryTerm">calendar. |
Exemple de demande
PATCH https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json
{
"Name": "Holidays"
}
Exemple de réponse
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/CalendarGroups/$entity",
"@odata.id": "https://https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/CalendarGroups('AAMkAGE0MGM4xLGAAA=')",
"@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==\"",
"Id": "AAMkAGE0MGM4xLGAAA=",
"Name": "Holidays",
"ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SA==",
"ClassId": "4d969bba-8942-42a0-ae33-c7d4410d1e11"
}
Type de réponse
Le groupe de calendriers mis à jour.
Supprimer les groupes de calendriers
Notes
Outlook.com ne prend en charge que le groupe de calendriers par défaut, accessible par le raccourci ../me/calendars
. Ne pas supprimer ce groupe de calendriers.
Supprimer un groupe de calendriers
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
DELETE https://outlook.office.com/api/beta/me/calendargroups/{calendar_group_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
calendar_group_id | chaîne | L’ID du groupe de calendriers. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/calendargroups/AAMkAGE0MGM4xLGAAA=
Exemple de réponse
Status code: 204
Étapes suivantes
Que vous soyez prêt à commencer à créer une application ou que vous souhaitiez simplement en apprendre plus, nous avons ce qu’il vous faut.
- Premiers pas avec les API REST Courrier, Calendrier et Contacts.
- Voulez-vous des exemples ? Nous en avons.
Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :
- API REST d’Outlook sur le Centre de développement Outlook
- Vue d’ensemble du processus de développement sur la plateforme Office 365
- Authentification d'application et autorisation de ressources Office 365
- Enregistrez manuellement votre application dans Azure AD pour qu’elle puisse accéder aux API Office 365
- Référence de l'API courrier
- Référence de l’API Contacts
- API REST Tâches (aperçu)
- API OneDrive
- Référence des opérations de l’API REST Service de découverte
- Référence de ressource pour les API REST Courrier, Calendrier, Contacts et Tâche