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.
- Obtenir des événements
- Synchroniser les événements
- Trouver des heures de réunion
- Créer des événements
- Mettre à jour les événements
- Répondre aux événements
- Supprimer des événements
- Obtenir des pièces jointes
- Créer des pièces jointes
- Supprimer les pièces jointes
- Obtenir des rappels
- Mettre les rappels en veilleuse
- Ignorer les rappels
Opérations de calendrier
Un calendrier sert de conteneur pour les événements. Un utilisateur peut avoir plusieurs calendriers. Dans Office 365, chaque calendrier peut être affecté à un groupe de calendriers.
- Obtenir des calendriers
- Créer des calendriers
- Mettre à jour les calendriers
- Supprimer des calendriers
Opérations du groupe de calendriers
Les 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.
- Obtenir un groupe de calendriers
- Créer des groupes de calendriers
- Mettre à jour les groupes de calendriers
- Supprimer les groupes de calendriers
Voir aussi
- Ressource d’événement API REST
- Ressources du calendrier API REST
- Ressource du groupe de calendriers API REST
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
- Obtenir des événements principaux et des événements uniques
- Obtenir des instances d’événements)
- Obtenir un événement
Obtenir une vue de calendrier
Étendue minimale requise
Un des éléments suivants :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 duskipToken
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 :
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.)
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 undeltaToken
. - La seconde requête utilise ce
deltatoken
. La deuxième réponse renvoie un événement, unnextLink
et unskipToken
.
Pour achever la synchronisation, utilisez le skipToken
renvoyé par la demande de synchronisation précédente jusqu’à ce que la réponse de synchronisation renvoie un deltaLink
et un deltaToken
, auquel cas cette séquence de synchronisation est terminée. Enregistrer le deltaToken
pour la prochaine séquence de synchronisation.
Pour plus d'informations, voir Synchroniser les événements dans la vue de calendrier Outlook.
Exemple de première requête
GET https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.read.shared
- wl.calendars
- wl.contacts_calendars
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 :
- Trouvez l'heure et le lieu pour rencontrer les participants
- Trouvez le temps de vous rencontrer à un endroit connu et recueillez une raison pour chaque suggestion
- Trouvez l'heure pour se rencontrer, mais aucun participant n'est disponible
- Trouver le temps de se rencontrer, mais seulement quelques participants disponibles
- Trouvez des créneaux horaires pour l'utilisateur connecté
Trouver l'heure et le lieu pour rencontrer les participants
Trouver les heures et les lieux pour se rencontrer en spécifiant les paramètres suivants dans le corps de la demande :
- Participants
- TimeConstraint
- MeetingDuration
Exemple de 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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Créer un événement dans le calendrier principal de l’utilisateur ou un calendrier spécifique en le publiant dans le point de terminaison events
du calendrier. Lorsque l’événement est créé, le serveur envoie des invitations à tous les participants.
POST https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Modifier un événement. Seules les propriétés que vous spécifiez sont modifiées. Si l'utilisateur est l'organisateur, le serveur envoie des mises à jour de réunion à tous les participants.
PATCH https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Accepte l’événement spécifié.
POST https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Accepte provisoirement l’événement spécifié.
POST https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Refuser l’invitation à l’événement spécifié.
POST https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Déplacer un événement dans le dossier Éléments supprimés de l’utilisateur connecté. Si l’événement est une réunion et que l’utilisateur connecté en est l'organisateur, le serveur envoie des annulations à tous les participants.
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Ajouter un fichier joint à un événement.
POST https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Ajouter un élément joint à un événement
POST https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Supprimer la pièce jointe spécifiée d’un événement. La pièce jointe peut être un fichier joint 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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Créez un calendrier dans le groupe de calendriers par défaut en utilisant le raccourci../me/calendars
, ou dans un groupe de calendriers spécifique en publiant dans le point de 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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Modifier les propriétés inscriptibles d’un calendrier.
PATCH https://outlook.office.com/api/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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.read
- wl.calendars
- wl.contacts_calendars
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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
Changer le nom d'un groupe de calendriers. Le nom est la seule propriété 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 :
- https://outlook.office.com/calendars.readwrite
- wl.calendars_mettez à jour
- wl.events_créez
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.
- Premiers pas avec les API REST Courrier, Calendrier et Contacts.
- Voulez-vous des exemples ? Nous en avons.
Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :
- API REST d’Outlook sur le Centre de développement Outlook
- Vue d’ensemble du processus de développement sur la plateforme Office 365
- Authentification d'application et autorisation de ressources Office 365
- Inscrivez manuellement votre application dans Azure AD pour qu’elle puisse accéder aux API Office 365
- Référence de l'API courrier
- Référence de l’API Contacts
- API REST Tâches (aperçu)
- API OneDrive
- Référence des opérations de l’API REST Service de découverte
- Référence de ressource pour les API REST Courrier, Calendrier, Contacts et Tâche