Référence des API REST de calendrier Outlook (version 2.0)

S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com

L’API de calendrier fournit un accès aux données d'événements, de calendrier et du groupe de calendriers sécurisées par Azure Active Directory sur Office 365, ainsi qu’à des données similaires dans les comptes Microsoft sur ces domaines précisément : 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.
  • Afin de simplifier les explications, le reste de l'article utilise Outlook.com pour inclure ces domaines de comptes Microsoft.

La version 2.0 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 Office 365 et sélectionnez la version souhaitée.

Toutes les opérations de l’API de 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 ponctuelle ou une exception.

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.

Opérations du groupe de calendriers

Les groupes de calendriers sont un moyen d’organiser plusieurs calendriers. Les utilisateurs peuvent ajouter plusieurs calendriers dans un seul groupe de calendriers dans Outlook ou l’application Web Outlook. 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.

Voir aussi

Utilisation de l’API REST de calendrier

Authentification

Comme pour les autres API REST d’Outlook, pour chaque demande envoyée à l’API de 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 simplifiées d’inscription et d’autorisation qui vous sont proposées. Gardez cela à l’esprit lorsque vous effectuez des opérations spécifiques dans l’API de 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 de 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 de 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 correspondant en tant que 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 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. Voir cette liste de noms pour le fuseau horaire pris en charge.

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 de calendrier

Étendue minimale requise

Un des éléments suivants :

Obtenez les occurences, les exceptions, les instances d’événements uniques dans la vue de calendrier définis par une plage de temps, (../me/calendarview) ou à partir du calendrier principal de l’utilisateur ou d’un autre calendrier.

GET https://outlook.office.com/api/v2.0/me/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}
Paramètre requis Type Description
Paramètres de l'en-tête
Préférence : outlook.timezone Le fuseau horaire par défaut pour les événements dans la réponse.
Paramètres de l'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/v2.0/me/calendarview?startDateTime=2014-10-01T01:00:00&endDateTime=2014-10-31T23:00:00&$select=Subject

Type de réponse

Expansion des événements dans la plage de temps spécifiée.

Obtenir des événements principaux et des événements uniques

Étendue minimale requise

Un des éléments suivants :

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 étendues d’événements, vous pouvez afficher la vue de calendrier ou obtenir les instances d’un événement.

GET https://outlook.office.com/api/v2.0/me/events
GET https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events
Paramètre requis Type Description
Paramètres de l'en-tête
Préférence : outlook.timezone Le fuseau horaire par défaut pour les événements dans la réponse.
Paramètres de l'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

Par défaut, chaque message 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 requête

GET https://outlook.office.com/api/v2.0/me/events?$select=Subject,Organizer,Start,End

Exemple de réponse

{
    "@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Events(Subject,Organizer,Start,End)",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI28tEyDAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWw==\"",
            "Id": "AAMkAGI28tEyDAAA=",
            "Subject": "Scrum",
            "Start": {
                "DateTime": "2015-11-02T17:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-11-02T17:30:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "user0TestUser",
                    "Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI28tEyCAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAA/LpDWg==\"",
            "Id": "AAMkAGI28tEyCAAA=",
            "Subject": "team lunch",
            "Start": {
                "DateTime": "2015-11-02T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-11-03T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "user0TestUser",
                    "Address": "user0@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2ADTG93AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49w==\"",
            "Id": "AAMkAGI2G93AAA=",
            "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": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG92AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49g==\"",
            "Id": "AAMkAGI2TG92AAA=",
            "Subject": "Daily Team Meeting",
            "Start": {
                "DateTime": "2014-10-13T18:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-10-13T18:30:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG91AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x47Q==\"",
            "Id": "AAMkAGI2TG91AAA=",
            "Subject": "Rob:Alex 1:1",
            "Start": {
                "DateTime": "2014-10-15T16:30:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": "2014-10-15T17:30:00Z",
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG90AAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46g==\"",
            "Id": "AAMkAGI2TG90AAA=",
            "Subject": "Thanksgiving Holiday",
            "Start": {
                "DateTime": "2015-11-26T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-11-27T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9zAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x46Q==\"",
            "Id": "AAMkAGI2TG9zAAA=",
            "Subject": "Thanksgiving Holiday",
            "Start": {
                "DateTime": "2014-11-27T00:00:00"
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-11-28T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9yAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x49Q==\"",
            "Id": "AAMkAGI2TG9yAAA=",
            "Subject": "New Year's Day Holiday",
            "Start": {
                "DateTime": "2015-01-01T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2015-01-02T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        },
        {
            "@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGI2TG9xAAA=')",
            "@odata.etag": "W/\"nfZyf7VcrEKLNoU37KWlkQAAA0x45w==\"",
            "Id": "AAMkAGI2TG9xAAA=",
            "Subject": "Christmas Holiday",
            "Start": {
                "DateTime": "2014-12-25T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "End": {
                "DateTime": "2014-12-26T00:00:00",
                "TimeZone": "Pacific Standard Time"
            },
            "Organizer": {
                "EmailAddress": {
                    "Name": "Alex D",
                    "Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
                }
            }
        }
    ]
}

Obtenir des instances d’événements

Étendue minimale requise

Un des éléments suivants :

Vous pouvez obtenir les instances (occurences) d'un événement pour plage de temps spécifié. 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/v2.0/me/events/{event_id}/instances?startDateTime={start_datetime}&endDateTime={end_datetime}
Paramètre requis Type Description
Paramètres de l'en-tête
Préférence : outlook.timezone Le fuseau horaire par défaut pour les événements dans la réponse.
Paramètres de l'URL
event_id chaîne L'ID de l'é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.

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.** ** ** **

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGE0MGM1Y2M5LWEAAA=/instances?startDateTime=2014-10-01T01:00:00Z&endDateTime=2014-10-31T23:00:00Z&$select=Subject,Start,End

Obtenir un événement

Étendue minimale requise

Un des éléments suivants :

Obtenir un événement par ID.

GET https://outlook.office.com/api/v2.0/me/events/{event_id}
Paramètre requis Type Description
Paramètres de l'en-tête
Préférence : outlook.timezone Le fuseau horaire par défaut pour les événements dans la réponse.
Paramètres de l'URL
event_id chaîne L'ID 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.

Exemple de requête

GET https://outlook.office.com/api/v2.0/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",
            "Address": null
        },
        "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 requête

GET https://outlook.office.com/api/v2.0/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 :

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 le cas échéant.

En-têtes de requêtes

  • 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é à la suite d'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 du skipToken dans 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 :

  1. Effectuez 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.)

  2. 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/v2.0/{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/v2.0/{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/v2.0/{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/v2.0/{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/v2.0/{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/v2.0/{user_context}/calendars('{calendar_id}')/calendarview?startDateTime={start_datetime}&endDateTime={end_datetime}&$skiptoken={skip_token}

Paramètres

Paramètre Type Description
Paramètres de l'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.

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.
  • Par défaut, chaque message 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 un deltaToken.
  • La seconde requête utilise ce deltatoken. La deuxième réponse renvoie un événement, un nextLink et un skipToken.

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/v2.0/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

Exemple de données d'une première réponse

Preference-Applied: odata.track-changes

    {
        "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarView",
        "value": [
            {
                "@odata.id": "https://outlook.office.com/api/v2.0/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": "",
                    "Address": null
                },
                "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/v2.0/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/v2.0/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

Exemple de données d’une deuxième réponse

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarView/$delta",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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": "",
                "Address": {
                    "Street": "",
                    "City": "",
                    "State": "",
                    "CountryOrRegion": "",
                    "PostalCode": ""
                }
             },
            "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/v2.0/me/calendarview/?startdatetime=2015-01-01T00%3a00%3a00Z&enddatetime=2015-08-10T00%3a00%3a00Z&%24skipToken=530c9d02ae1a4d96804538bd4d381546"
}

Trouver des heures de réunion

Étendue minimale requise

Un des éléments suivants :

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 aux lettres 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 La configuration minimale requise de niveau de confiance pour une plage horaire à renvoyer dans la réponse. Il s’agit d’une valeur de % comprise entre 0 et 100. Facultatif
ReturnSuggestionReasons Edm.Boolean Spécifiez true pour retourner une raison 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 (créneaux horaires). 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 calendriers principaux 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 aux lettres. C'est la valeur par défaut si aucun ActivityDomain n'est spécifié.
Personnel Les suggestions se situent dans les heures de travail de l'utilisateur, ainsi que le samedi et le dimanche. La valeur par défaut est du lundi au 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 commeMeetingTimeSuggestion, avec les participants ayant par défaut 50 % de probabilité d'y assister, ou un pourcentage spécifique que vous avez spécifié dans le paramètreMinimumAttendeePercentage.

Par défaut, chaque suggestion de réunion est renvoyée au format UTC. Appliquez l’Prefer: outlook.timezone en-tête de la requête 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, comme partie du paramètre de collection desParticipants.

Chaque exemple ci-dessous appelle FindMeetingTimeset varie selon la disponibilité des participants, heure et contraintes d’emplacement :

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 requête

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/v2.0/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/v2.0/$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",
                    "LocationEmailAddress": "",
                    "LocationUri": "",
                    "Address": null,
                    "Coordinates": null
                }
            ]
        },
        {
            "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",
                    "LocationEmailAddress": "",
                    "LocationUri": "",
                    "Address": null,
                    "Coordinates": null
                }
            ]
        }
    ],
    "EmptySuggestionsReason": ""
}

Trouvez le temps de se rencontrer à un endroit connu et recueillir une raison 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, dans le cas où findMeetingTimes renvoie une suggestion.

Exemple de requête

POST https://outlook.office.com/api/v2.0/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/v2.0/$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"
                }
            ],
            "SuggestionReason": "Suggested because it is one of the nearest times when all attendees are available."
        }
    ],
    "EmptySuggestionsReason": ""
}

Trouvez l'heure pour se rencontrer, mais aucun participant n'est disponible

Trouvez le temps de se rencontrer 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 l'exemple suivant, en fonction des paramètres spécifiés et de la disponibilité des participants, FindMeetingTimes ne peut renvoyer aucune suggestion, mais renvoie plutôt une raison AttendeesUnavailable dans la propriété EmptySuggestionsReason.

Voir d’autre raisons possibles pour ne pas retourner les suggestions de réunion.

Exemple de requête

POST https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Microsoft.OutlookServices.MeetingTimeSuggestionsResult",
    "MeetingTimeSuggestions": [
    ],
    "EmptySuggestionsReason": "AttendeesUnavailable"
}

Trouvez le temps de se rencontrer, mais seulement quelques participants disponibles

Trouvez le temps de se rencontrer 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ées par FindMeetingTimes comprend :

  • La disponibilité de chaque participant
  • Une probabilité de réunion calculée par ordinateur et qui constitue la moyenne d’un pourcentage 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ètreReturnSuggestionReasonsest défini.

Trouver plus d'informations sur la probabilité d'une réunion.

Exemple de requête

POST https://outlook.office.com/api/v2.0/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/v2.0/$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"
            }
         ],
         "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"
            }
         ],
         "SuggestionReason":"Suggested because it is one of the nearest times when most attendees are available."
      }
   ],
   "EmptySuggestionsReason":""
}

Trouvez des créneaux horaires 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 requête

Cet exemple recherche des créneaux horaires d'une heure, tel que spécifié par RéunionDuration dans le calendrier 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/v2.0/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/v2.0/$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 (préversion)

Cette fonctionnalité est actuellement disponible en version bêta. Pour plus d’informations, dans la table des matières sur la gauche, accédez à la section référence API REST Office 365 et sélectionnez bêta.

Créer des événements

Créer un événement de calendrier

Étendue minimale requise

Un des éléments suivants :

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/v2.0/me/events
POST https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}/events
Paramètre requis Type Description
Paramètres de l'URL
calendar_id chaîne L'ID du calendrier.

Exemple de requête

POST https://outlook.office.com/api/v2.0/me/events
Content-Type: application/json
{
  "Subject": "Discuss the Calendar REST API",
  "Body": {
    "ContentType": "HTML",
    "Content": "I think it will meet our requirements!"
  },
  "Start": {
      "DateTime": "2014-02-02T18:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "End": {
      "DateTime": "2014-02-02T19:00:00",
      "TimeZone": "Pacific Standard Time"
  },
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Type": "Required"
    }
  ]
}

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('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Events('AAMkAGE4v1RAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==\"",
  "Id": "AAMkAGE4v1RAAA=",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeNheA==",
  "Categories": [],
  "CreatedDateTime": "2014-01-22T20:56:10.1058291Z",
  "LastModifiedDateTime": "2014-01-22T20:56:10.3402186Z",
  "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": "",
    "Address": null
  },
  "ShowAs": "Busy",
  "IsAllDay": false,
  "IsCancelled": false,
  "IsOrganizer": true,
  "ResponseRequested": true,
  "Type": "SingleInstance",
  "SeriesMasterId": null,
  "Attendees": [
    {
      "EmailAddress": {
        "Address": "janets@a830edad9050849NDA1.onmicrosoft.com",
        "Name": "Janet Schorr"
      },
      "Status": {
        "Response": "None",
        "Time": "0001-01-01T00:00:00Z"
      },
      "Type": "Required"
    }
  ],
  "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

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ébutetFin du nouvel événement dans la réponse.

POST https://outlook.office.com/api/v2.0/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 :

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/v2.0/me/events/{event_id}
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'événement.

Spécifiez toutes les propriétés d’événement accessibles en écriture dans le corps de la requête.

Exemple de requête

PATCH https://outlook.office.com/api/v2.0/me/events/AAMkAGE0M4v1OAAA=
Content-Type: application/json

{
  "Location": {
    "DisplayName": "Your office",
    "Address": null
  }
}

Exemple de réponse

Code d’état : 200

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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": "Your office",
    "Address": null
  },
  "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.

PATCH https://outlook.office.com/api/v2.0/me/events/AAMkAGE1MFKPQWAAA=?$select=Location

Répondre aux événements

Accepter un événement

Étendue minimale requise

Un des éléments suivants :

Accepte l’événement spécifié.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/accept
Paramètre Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'é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 requête

POST https://outlook.office.com/api/v2.0/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 :

Accepte provisoirement l’événement spécifié.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/tentativelyaccept
Paramètre Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'é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 requête

POST https://outlook.office.com/api/v2.0/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 :

Refuser l’invitation à l’événement spécifié.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/decline
Paramètre Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'é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 requête

POST https://outlook.office.com/api/v2.0/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 (préversion)

Cette fonctionnalité est actuellement disponible uniquement en version bêta. Pour plus d’informations, dans la table des matières sur la gauche, accédez à la section référence API REST Office 365 et sélectionnez bêta.

Supprimer des événements

Supprimer un événement de calendrier

Étendue minimale requise

Un des éléments suivants :

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.

DELETE https://outlook.office.com/api/v2.0/me/events/{event_id}
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'événement.

Exemple de requête

DELETE https://outlook.office.com/api/v2.0/me/events/AAMkAGE0M4v1OAAA=

Exemple de réponse

Status code: 204

Annuler des événements (préversion)

Cette fonctionnalité est actuellement disponible uniquement en version bêta. Pour plus d’informations, dans la table des matières sur la gauche, accédez à la section référence API REST Office 365 et sélectionnez bêta.

Obtenir 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 :

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/v2.0/me/events/{event_id}/attachments
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'événement.

Type de réponse

Une collection de pièces jointes pouvant être du type FileAttachment ou ItemAttachment.

Exemple de requête

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2NGTG9yAAA=/attachments

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGI2NG9yAAA%3D')/Attachments",
    "value": [
        {
            "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
            "@odata.id": "https://outlook.office.com/api/v2.0/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 :

Obtenir une pièce jointe d'un événement particulier.

GET https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments/{attachment_id}
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'é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 ou l’élément joint demandés.

Exemple de requête

GET https://outlook.office.com/api/v2.0/me/events/AAMkAGI2WRAAADTG9yAAA=/attachments/AAMkAGI2TG9yAAABEgAQALxJtn1LwydGuOzcHf1FBlo=

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Events('AAMkAGI2WRAAADTG9yAAA%3D')/Attachments/$entity",
    "@odata.type": "#Microsoft.OutlookServices.FileAttachment",
    "@odata.id": "https://outlook.office.com/api/v2.0/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 ($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/v2.0/me/events('AAMkAGE1Mbs88AADggYEcAAA=')?$expand=attachments

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$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/v2.0/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 un fichier joint ou créer une pièce jointe d’élément pour un événement.

Créer un fichier joint

Étendue minimale requise

Un des éléments suivants :

Ajouter un fichier joint à un événement.

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'é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 :

Ajouter un élément joint à un événement

POST https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'é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/v2.0/me/events/{event_id}/attachments
Paramètre requis Type Description
Paramètres de l'URL
event_id Chaîne L'ID de l'é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 requête

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/v2.0/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/v2.0/$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 :

Supprimer la pièce jointe spécifiée d’un événement. La pièce jointe peut être un fichier joint ou un élément joint.

DELETE https://outlook.office.com/api/v2.0/me/events/{event_id}/attachments/{attachment_id}
Paramètre requis Type Description
Paramètres de l'URL
event_id chaîne L'ID de l'événement.
attachment_id chaîne ID de la pièce jointe.

Exemple de requête

DELETE https:/outlook.office.com/api/v2.0/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 :

GET https://outlook.office.com/api/v2.0/me/ReminderView(StartDateTime='{DateTime}',EndDateTime='{DateTime}')
Paramètre requis Type Description
Paramètres de l'en-tête
Préférence : outlook.timezone Le fuseau horaire par défaut pour les événements dans la réponse.
Paramètres de l'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 :

POST https://outlook.office.com/api/v2.0/me/Events('{id}')/SnoozeReminder
Paramètres requis Type Description
Paramètres de l'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 :

POST https://outlook.office.com/api/v2.0/me/Events({id})/DismissReminder
Paramètres requis Type Description
Paramètres de l'URL
id chaîne L’id de l’événement.

Obtenir des calendriers

Vous pouvez obtenir une collection de calendriers ou obtenir une calendrier.

Obtenir une collection de calendriers

Étendue minimale requise

Un des éléments suivants :

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/v2.0/me/calendars
GET https://outlook.office.com/api/v2.0/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 de l'URL
calender_group_id chaîne L’ID du groupe de calendriers.

Exemple de requête

https://outlook.office.com/api/v2.0/me/calendars

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
            "Id": "AAMkAGI2TGuLAAA=",
            "Name": "Calendar",
            "Color": "Auto",
            "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
            "CanShare":true,
            "CanViewPrivateItems":true,
            "CanEdit":true,
            "Owner":{
              "Name":"Fanny Downs",
              "Address":"fannyd@adatum.onmicrosoft.com"
            }
        }
    ]
}

Obtenir un calendrier

Étendue minimale requise

Un des éléments suivants :

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/v2.0/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 de l'URL
calendar_id chaîne L'ID du calendrier.

Exemple de requête

GET https://outlook.office.com/api/v2.0/me/calendars/AAMkAGI2TGuLAAA=

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGI2TGuLAAA=')",
    "Id": "AAMkAGI2TGuLAAA=",
    "Name": "Calendar",
    "Color": "Auto",
    "ChangeKey": "nfZyf7VcrEKLNoU37KWlkQAAA0x0+w==",
    "CanShare":true,
    "CanViewPrivateItems":true,
    "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 :

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 terminaisoncalendars du groupe.

POST https://outlook.office.com/api/v2.0/me/calendars
POST https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}/calendars
Paramètre requis Type Description
Paramètres de l'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 noueau calendrier.

Exemple de requête

POST https://outlook.office.com/api/v2.0/me/calendars
Content-Type: application/json

{
  "Name": "Social"
}

Exemple de réponse

Code d’état : 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Calendars/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGE4xLHAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==\"",
  "Id": "AAMkAGE4xLHAAA=",
  "Name": "Social",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/SQ==",
  "CanShare":true,
  "CanViewPrivateItems":true,
  "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 :

Modifier les propriétés inscriptibles d’un calendrier.

PATCH https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
Paramètre requis Type Description
Paramètres de l'URL
calendar_id chaîne L'ID du calendrier.

Exemple de requête

PATCH https://outlook.office.com/api/v2.0/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/v2.0/$metadata#Me/Calendars/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Calendars('AAMkAGE4xLIAAA=')",
  "@odata.etag": "W/\"Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==\"",
  "Id": "AAMkAGE4xLIAAA=",
  "Name": "Social events",
  "ChangeKey": "Jj9S59cHB0Wq4jXUzBgDvQAAFeN/Sw==",
  "CanShare":true,
  "CanViewPrivateItems":true,
  "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 :

DELETE https://outlook.office.com/api/v2.0/me/calendars/{calendar_id}
Paramètre requis Type Description
Paramètres de l'URL
calendar_id chaîne L'ID du calendrier.

Exemple de requête

DELETE https://outlook.office.com/api/v2.0/me/calendars/AAMkAGE4xLIAAA=

Exemple de réponse

Status code: 204

Obtenir un groupe de calendriers

Vous pouvez obtenir une collection de groupes de calendriers ou obtenir 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.

Obtenir une collection de groupe de calendriers

Étendue minimale requise

Un des éléments suivants :

Obtenir des groupes de calendriers dans une boîte aux lettres.

GET https://outlook.office.com/api/v2.0/me/calendargroups

Notes

Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.

Exemple de requête

GET https://outlook.office.com/api/v2.0/me/calendargroups

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups",
    "value": [
        {
            "@odata.id": "https://outlook.office.com/api/v2.0/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/v2.0/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 :

Obtenir un groupe de calendriers par ID.

GET https://outlook.office.com/api/v2.0/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 de l'URL
calendar_group_id chaîne L’ID du groupe de calendriers.

Exemple de requête

GET https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGI2TGuKAAA=

Exemple de réponse

Code d’état : 200

{
    "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
    "@odata.id": "https://outlook.office.com/api/v2.0/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 nouveau 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 nouveau groupe de calendriers

Étendue minimale requise

Un des éléments suivants :

POST https://outlook.office.com/api/v2.0/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 requête

POST https://outlook.office.com/api/v2.0/me/calendargroups
Content-Type: application/json

{
  "Name": "Birthdays"
}

Exemple de réponse

Code d’état : 201

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://outlook.office.com/api/v2.0/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

Le nouveau groupe de calendriers.

Mettre à jour les groupes de calendriers

Mettre à jour un groupe de calendriers

Étendue minimale requise

Un des éléments suivants :

Changer le nom d'un groupe de calendriers. Le nom est la seule propriété groupe de calendriers accessible en écriture.

PATCH https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
Paramètre requis Type Description
Paramètres de l'URL
calendar_group_id chaîne L’ID du groupe de calendriers.
Paramètres de corps
Nom chaîne Le nom du groupe de calendriers mis à jour.

Exemple de requête

PATCH https://outlook.office.com/api/v2.0/me/calendargroups/AAMkAGE0M4xLGAAA=
Content-Type: application/json

{
  "Name": "Holidays"
}

Exemple de réponse

{
  "@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/CalendarGroups/$entity",
  "@odata.id": "https://https://outlook.office.com/api/v2.0/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 :

DELETE https://outlook.office.com/api/v2.0/me/calendargroups/{calendar_group_id}
Paramètre requis Type Description
Paramètres de l'URL
calendar_group_id chaîne L’ID du groupe de calendriers.

Exemple de requête

DELETE https://outlook.office.com/api/v2.0/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.

Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :