Référence des API REST courrier Outlook (version 2.0)
S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com
L’API Mail Outlook vous permet de lire, de créer et d’envoyer des messages et des pièces jointes, d’afficher et de répondre aux messages d’événement et de gérer les dossiers sécurisés par Azure Active Directory dans Office 365. Elle fournit également la même fonctionnalité dans les comptes Microsoft spécifiquement dans ces domaines : Hotmail.com, Live.com, MSN.com, Outlook.com et Passport.com.
Notes
Pour plus de simplicité dans les références, la suite de cet article utilise Outlook.com pour inclure ces domaines de compte Microsoft.
La version 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 pour Office 365 et sélectionnez la version souhaitée.
Toutes les opérations de l’API Courrier
Opérations de message
Les messages sont stockés dans des dossiers de boîte aux réception, de sorte que les points de terminaison de message incluent souvent le dossier qui contient le message. Un dossier est spécifié par un nom de dossier connu ou un ID tel que Inbox
, Drafts
, SentItems
, ou DeletedItems
.
- Récupérer les messages
- Synchroniser les messages
- Créer et envoyer des messages
- Répondre ou répondre à tous les messages
- Transférer des nouveaux messages ou des brouillons
- Mettre à jour les messages
- Supprimer des messages
- Déplacer ou copier des messages
- Gérer la boîte de réception triée
- Gérer les @-Mentions (aperçu)
- Gérer les règles (aperçu)
- Se désinscrire (aperçu)
- Obtenez les choix de langue (aperçu)
- Obtenez les choix de fuseau horaire (aperçu)
- Obtenir des paramètres de boîte aux lettres
- Obtenir les paramètres de réponse automatique
- Mettre à jour les paramètres de réponse automatique
- Obtenir les infos-courrier (aperçu)
- Obtention des pièces jointes
- Créer des pièces jointes
- Supprimer les pièces jointes
Opérations de dossier
Les dossiers de boîte de réception peuvent contenir des messages et d'autres dossiers. Vous pouvez récupérer, créer, modifier, supprimer et gérer des dossiers. Vous pouvez utiliser les noms de dossiers connus suivants à la place de l’ID pour spécifier le dossier correspondant : Inbox
, SentItems
, Drafts
ou DeletedItems
.
- Obtenir des dossiers
- Synchroniser des dossiers
- Créer des dossiers
- Mettre à jour des dossiers
- Supprimer des dossiers
- Déplacer ou copier des dossiers
Voir aussi
Utiliser l’API REST Courrier
Authentification
Comme les autres API REST Outlook, pour chaque requête envoyée à l’API Courrier, vous devez inclure un jeton d’accès valide. Pour obtenir un jeton d’accès, vous devez avoir inscrit et identifié votre application, et obtenu l’autorisation appropriée.
Vous pouvez en apprendre plus sur certaines options d’inscription et d’autorisation simplifiées pour vous. Gardez cela à l’esprit lorsque vous effectuez des opérations spécifiques dans l’API Courrier.
Version de l’API
L’API REST Courrier 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
Toutes les requêtes d’API Courrier sont effectuées au nom de l’utilisateur connecté, sauf indication contraire. Quelques sous-ensembles d’API, tels que l'API Boîte de réception Prioritaire, peuvent être effectués sur l’utilisateur connecté ou sur un utilisateur spécifié par un ID utilisateur, avec les autorisations appropriées.
Voir Utiliser l’API REST Outlook pour plus d’informations communes à tous les sous-ensembles de l’API REST Outlook.
Récupérer les messages
Vous pouvez récupérer une collection de messages ou un message individuel depuis un dossier de boîte aux lettres.
Chaque message de la réponse contient plusieurs propriétés, parmi lesquelles la propriété Body. Le corps du message peut être au format texte ou HTML. Si le corps est au format HTML, par défaut, le contenu HTML potentiellement dangereux (par exemple, un code JavaScript) incorporé dans la propriété Body sera supprimé avant que le contenu du corps ne soit renvoyé dans une réponse REST.
Pour récupérer le contenu HTML d’origine dans son intégralité, incluez l’en-tête de requête HTTP suivant :
Prefer: outlook.allow-unsafe-html
Pour spécifier le format souhaité à renvoyer dans les propriétés Body et UniqueBody dans une requête GET, utilisez l’en-tête Prefer: outlook.body-content-type
:
- Spécifiez
Prefer: outlook.body-content-type="text"
pour récupérer le corps du message au format texte. - Spécifiez
Prefer: outlook.body-content-type="html"
, ou ignorez simplement l’en-tête, pour renvoyer le corps du message au format HTML.
Si vous spécifiez l’un ou l’autre en-tête, la réponse inclura l’en-tête Preference-Applied
comme confirmation :
- Pour les requêtes au format texte :
Preference-Applied: outlook.body-content-type="text"
- Pour les requêtes au format HTML :
Preference-Applied: outlook.body-content-type="html"
Récupérer une collection de messages
Étendue minimale requise
Un des éléments suivants :
Notes
Le comportement des opérations dans cette section varie selon la version. Découvrez-en plus en cliquant sur une version sous Référence API REST pour Office 365 dans la table des matières sur la gauche.
Récupérer une collection de messages à partir de toute la boîte aux lettres de l’utilisateur connecté (y compris les dossiers Éléments supprimés et Courrier pêle-mêle).
GET https://outlook.office.com/api/v2.0/me/messages
Vous pouvez également spécifier un dossier dans la boîte aux lettres de l’utilisateur et récupérer la collection de messages à partir de ce dossier.
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID de dossier ou le nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems , si vous recevez des messages depuis dossier spécifique. Spécifier AllItems retournerait tous les messages de la boîte aux lettres |
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 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 de ne renvoyer que les propriétés Expéditeur et Sujet de chaque message dans la réponse. Reportez-vous à l’exemple de réponse dans Récupérer un contact pour une liste complète des propriétés qui seraient retournées pour un message si vous n’utilisez pas $select
.
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/MailFolders/sentitems/messages/?$select=Sender,Subject
Réponse d'échantillon
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIzAAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqS\"",
"Id": "AAMkAGI2TIzAAAA=",
"Subject": "Meeting Notes",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy-AAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2TIy-AAA=",
"Subject": "Contract Signing",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
},
{
"@odata.type": "#Microsoft.OutlookServices.EventMessage",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2TIy9AAA=')",
"@odata.etag": "W/\"CwAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqJ\"",
"Id": "AAMkAGI2TIy9AAA=",
"Subject": "Rob:Alex 1:1",
"Sender": {
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
}
]
}
Type de réponse
La collection de messages demandée.
Obtenir une ressource message
Étendue minimale requise
Un des éléments suivants :
Récupérer un message par ID.
GET https://outlook.office.com/api/v2.0/me/messages/{message_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message. |
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=
Réponse d'échantillon
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGI2THVSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz\"",
"Id": "AAMkAGI2THVSAAA=",
"CreatedDateTime": "2014-10-20T00:41:57Z",
"LastModifiedDateTime": "2014-10-20T00:41:57Z",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTIKz",
"Categories": [],
"ReceivedDateTime": "2014-10-20T00:41:57Z",
"SentDateTime": "2014-10-20T00:41:53Z",
"HasAttachments": true,
"Subject": "Re: Meeting Notes",
"Body": {
"ContentType": "Text",
"Content": "\n________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP\n"
},
"BodyPreview": "________________________________________\nFrom: Alex D\nSent: Sunday, October 19, 2014 5:28 PM\nTo: Katie Jordan\nSubject: Meeting Notes\n\nPlease send me the meeting notes ASAP",
"Importance": "Normal",
"ParentFolderId": "AAMkAGI2AAEMAAA=",
"Sender": {
"EmailAddress": {
"Name": "Katie Jordan",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Katie Jordan",
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Alex D",
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2yEto=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": false,
"IsDraft": false,
"WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGI2THVSAAA%3D&exvsurl=1&viewmodel=ReadMessageItem"
}
Type de réponse
Le message demandé.
Notes
Par défaut, la réponse inclut toutes les propriétés du message spécifié. 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 de ne renvoyer que les propriétés Expéditeur et Sujet du message dans la réponse.
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1I5MTAAA=?$select=Sender,Subject
Synchroniser les messages
Étendue minimale requise
Un des éléments suivants :
Vous pouvez synchroniser votre magasin de données local avec les messages sur le serveur. La synchronisation des messages est une opération par dossier. Par exemple, vous pouvez synchroniser tous les messages de votre boîte de réception. Pour synchroniser les messages dans une hiérarchie de dossiers, vous devez synchroniser chaque dossier individuellement.
L’API prend en charge à la fois la synchronisation complète, qui récupère tous les messages d’un dossier, et la synchronisation incrémentielle, qui récupère tous les messages ayant été modifiés depuis la dernière synchronisation complète.
La synchronisation d’un dossier de courrier nécessite généralement deux requêtes GET ou plus. Effectuer une requête GET ressemble beaucoup à la façon dont vous récupérez des messages, sauf que vous devez inclure certains en-têtes de requête, et un deltaToken ou skipToken le cas échéant.
En-têtes de demande
Vous devez spécifier l’en-tête Prefer: odata.track-changes dans toutes les demandes de synchronisation, sauf celles qui incluent un
skipToken
qui est renvoyé depuis une requête de synchronisation antérieure. 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.Vous pouvez spécifier l’en-tête Prefer: odata.maxpagesize={x} pour définir le nombre maximal de messages renvoyés dans une requête.
Voici une séquence typique de synchronisation de messages :
Faire la requête GET initiale avec l’en-tête Prefer: odata.track-changes obligatoire. La réponse initiale à une requête de synchronisation renvoie toujours un deltaToken. (Les requêtes GET suivantes diffèrent de la première requête GET car elles incluent soit un deltaToken soit un skipToken reçu dans une réponse précédente.)
Si la première réponse renvoie l’en-tête Preference-Applied: odata.track-changes, vous pouvez poursuivre la synchronisation du répertoire.
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 messages supplémentaires. La deuxième requête renverra des messages supplémentaires, et soit un skipToken s’il y a davantage de messages disponibles, soit un deltaToken si le dernier message a été synchronisé, auquel cas la séquence de synchronisation est terminée et vous pouvez vous arrêter.
Poursuivre la synchronisation en envoyant un appel GET et en incluant un skipToken renvoyé par l’appel précédent. Arrêter lorsque vous obtenez une dernière réponse contenant un en-tête @odata.deltaLink avec un deltaToken à nouveau, ce qui indique que la synchronisation est terminée.
Mettez en cache le dernier jeton delta reçu dans la séquence de synchronisation complète. Utilisez-le pour lancer une séquence de synchronisation incrémentielle.
Voici une séquence de synchronisation incrémentielle :
Faire la demande GET initiale avec l’en-tête Prefer: odata.track-changes requis et le deltaToken en cache reçu dans la dernière réponse d’un cycle de synchronisation complet.
Les étapes suivantes suivent le modèle utilisé pour une synchronisation complète.
Pour synchroniser les messages dans un dossier spécifique
Première requête
GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages
Deuxième requête, ou première requête d’une séquence suivante
GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages/?$deltaToken={delta_token}
Troisième requête ou requête suivante dans la même séquence
Continuez à envoyer la requête de synchronisation suivante si la réponse précédente inclut un skipToken
. Arrêtez lorsque vous obtenez une réponse contenant de nouveau un en-tête @odata.deltaLink
avec un deltaToken
.
GET https://outlook.office365.com/api/v2.0/me/MailFolders('{folder_id}')/messages/?$skipToken={skip_token}
Paramètres | Type | Description |
---|---|---|
Paramètres d’en-tête | ||
Préférence | odata.track-changes | Indique que la requête est une requête de synchronisation. Obligatoire pour les deux premières requêtes GET d’une séquence. |
Préférence | odata.maxpagesize | Définit le nombre de messages à renvoyer dans chaque réponse. Facultatif. |
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems à synchroniser. Obligatoire. |
deltaToken | Chaîne | Jeton qui identifie la dernière requête de synchronisation pour ce dossier. Il est renvoyé comme partie de la valeur de @odata.deltaLink dans cette réponse de synchronisation précédente. Obligatoire pour la deuxième requête GET. |
skipToken | Chaîne | Jeton qui indique qu’il n’y a plus de messages à télécharger. Obligatoire s’il est renvoyé comme partie de la valeur de @odata.nextLink dans la réponse de synchronisation précédente. |
Par défaut, la synchronisation renvoie toutes les propriétés et tous les messages d’un dossier. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour obtenir les meilleurs niveaux de performance. La propriété Id est toujours renvoyée.
La synchronisation prend en charge les expressions de requête $select, $top et $expand. Il existe un support limité pour $filter et $orderby, et pas de support pour $search.
- Les seules expressions $filter supportées sont "$filter=ReceivedDateTime+ge+{value}" ou "$filter=ReceivedDateTime+gt+{value}".
- La seule expression $orderby supportée est "$orderby=ReceivedDateTime+desc". Si vous n’incluez pas d’expression $orderby, l’ordre de tri n’est pas garanti.
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Type de réponse
Une collection contenant les messages demandés et un deltaToken ou un skipToken à utiliser pour demander des pages supplémentaires de données de message du serveur pour une synchronisation incrémentielle.
Exemple
L’exemple suivant montre une série de requêtes permettant de synchroniser un dossier spécifique contenant 7 messages. La première requête de synchronisation spécifie le renvoi de deux messages à la fois (odata.maxpagesize est à 2), et seulement les propriétés Sender et Subject pour chaque message.
- La réponse initiale renvoie 2 messages, un
deltaLink
et undeltaToken
. - La seconde requête utilise ce
deltaToken
. La seconde réponse renvoie 2 messages, 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 undeltaLink
et undeltaToken
, auquel cas cette séquence de synchronisation est terminée. Enregistrez ledeltaToken
pour la prochaine séquence de synchronisation.
Exemple de première requête
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Échantillon de données d'une première réponse
La première réponse comprend un en-tête Preference-Applied: odata.track-changes
, indiquant que ce dossier prend en charge la synchronisation. La réponse comprend également deux messages et un deltaToken
.
Preference-Applied: odata.track-changes
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADPAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9+\"",
"Id":"AAMkAGI5MAAAwXADPAAA=",
"Subject":"Updates from All Company",
"Sender":{
"EmailAddress":{
"Name":"Contoso Demo on Yammer",
"Address":"noreply@yammer.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADVAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+E\"",
"Id":"AAMkAGI5MAAAwXADVAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Alex Darrow",
"Address":"AlexD@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA"
}
Exemple de deuxième requête
La deuxième requête spécifie le deltaToken
renvoyé de la réponse précédente.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Échantillon de données d’une deuxième réponse
La deuxième réponse comprend deux autres messages et un skipToken
, indiquant qu’il n’y a plus de messages à synchroniser dans le dossier.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADQAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS9/\"",
"Id":"AAMkAGI5MAAAwXADQAAA=",
"Subject":"International Launch Planning for XT2000",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADUAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+D\"",
"Id":"AAMkAGI5MAAAwXADUAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Anne Wallace",
"Address":"AnneW@contoso.onmicrosoft.com"
}
}
}
],
"@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}
Échantillon de troisième requête
La troisième requête comprend le skipToken
renvoyé par la réponse précédente.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Exemple de données d’une troisième réponse
La troisième réponse renvoie deux autres messages et un autre skipToken
, indiquant qu’il y a toujours des messages dans le dossier à synchroniser.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADTAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+C\"",
"Id":"AAMkAGI5MAAAwXADTAAA=",
"Subject":"RE: Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Pavel Bansky",
"Address":"PavelB@contoso.onmicrosoft.com"
}
}
},
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADSAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+B\"",
"Id":"AAMkAGI5MAAAwXADSAAA=",
"Subject":"Latin American Ad Campaign - XT Series",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
}
],
"@odata.nextLink":"https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA"
}
Exemple de quatrième requête
La quatrième requête comprend le skipToken
de la réponse précédente.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28DAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Exemple de données d’une quatrième et dernière réponse
La quatrième réponse renvoie le dernier message restant dans le dossier, et un deltaToken
qui indique que la synchronisation est terminée pour ce dossier. Enregistrez le deltaToken
pour la prochaine séquence de synchronisation de ce dossier.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/v2.0/Users('f97adce1-d718-4a0e-9af8-b10167e3a346@0d76cf04-f6a0-46cc-947b-d2e1bdd98d11')/Messages('AAMkAGI5MAAAwXADRAAA=')",
"@odata.etag":"W/\"CQAAABYAAAA+Z5tnXBgBRpOasqS9T0shAAAwYS+A\"",
"Id":"AAMkAGI5MAAAwXADRAAA=",
"Subject":"Data sheets for the XT2000 ",
"Sender":{
"EmailAddress":{
"Name":"Engineering",
"Address":"engineering@contoso.onmicrosoft.com"
}
}
}
],
"@odata.deltaLink": "https://outlook.office365.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}
Exemple de demande de synchronisation incrémentielle
La première requête comprend le deltaToken
de la dernière réponse de synchronisation complète.
GET https://outlook.office.com/api/v2.0/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=0_zCBD5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
La réponse à la requête de synchronisation incrémentielle inclut toutes les modifications apportées à l’ensemble des messages du dossier.
Exemple de réponse de synchronisation incrémentielle
La réponse montre qu’une modification a été apportée à l’ensemble de messages. Un message est supprimé.
{
"@odata.context":"https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value": [
{
"id": "Messages('AAMkAGY5MDFjNTQyLWI3NzItNGE4My04ZWE4LWQ4YmMwNTJkYTg1YwBGAAAAAAD7fYH1FVR1TayS78jtGGehBwDB1GgBNTpbT6Qe-PzdAR4YAh7cdimCAADwOTzPjXdMTKEex95TwbKkAACLEykWAAA=')",
"reason": "deleted"
}
]
,
"@odata.deltaLink": "https://outlook.office365.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24deltaToken=4_zRDV5nm2dcGAFGk5qypL1PSyEAADBb9RkEAAAA"
}
Créer et envoyer des messages
Vous pouvez envoyer un nouveau message à la volée ou créer un brouillon, puis l’envoyer. Vous pouvez créer des brouillons dans n’importe quel dossier.
Envoyer un nouveau message à la volée
Étendue minimale requise
Un des éléments suivants :
Envoyez le message fourni dans le corps de la requête en utilisant la méthode SendMail. Vous pouvez inclure une ou plusieurs pièces jointes dans le même appel d’action en les spécifiant dans la propriété de collection Pièces jointes. Vous pouvez également enregistrer le message dans le dossier Éléments envoyés.
POST https://outlook.office.com/api/v2.0/me/sendmail
Paramètre requis | Type | Description |
---|---|---|
Paramètres de corps | ||
Message | Message | Le message à envoyer. |
SavetoSentItems | booléen | Indique s’il faut enregistrer le message dans Éléments envoyés. La valeur par défaut est true. |
Spécifiez le paramètre Message avec la propriété ToRecipients requise et toute propriété message accessible en écriture dans le corps de la requête. Le paramètre SaveToSentItems est seulement nécessaire s’il est à false.
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/sendmail
{
"Message": {
"Subject": "Meet for lunch?",
"Body": {
"ContentType": "Text",
"Content": "The new cafeteria is open."
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "menu.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"SaveToSentItems": "false"
}
Réponse d'échantillon
Status code: 202
Créer un brouillon de message
Étendue minimale requise
Un des éléments suivants :
Crée le brouillon d’un nouveau message. Les brouillons peuvent être créés dans n’importe quel dossier et éventuellement mis à jour avant envoi. Pour enregistrer dans le dossier Brouillons, utilisez le raccourci /me/messages
.
POST https://outlook.office.com/api/v2.0/me/messages
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/messages
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier de destination, ou les noms de dossier bien connus Inbox ou Drafts . |
Spécifiez toutes les propriétés message inscriptibles dans le corps de la requête.
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/MailFolders/inbox/messages
Content-Type: application/json
{
"Subject": "Did you see last night's game?",
"Importance": "Low",
"Body": {
"ContentType": "HTML",
"Content": "They were <b>awesome</b>!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
}
]
}
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
"Id": "AAMkAGE0Mz7k0AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
"Categories": [],
"CreatedDateTime": "2014-10-18T20:06:51Z",
"LastModifiedDateTime": "2014-10-18T20:06:51Z",
"Subject": "Did you see last night's game?",
"BodyPreview": "They were awesome!",
"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\nThey were <b>awesome</b>!\r\n</body>\r\n</html>\r\n"
},
"Importance": "Low",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": null,
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0Mpv2hisc=",
"ReceivedDateTime": "2014-10-18T20:06:51Z",
"SentDateTime": "2014-10-18T20:06:51Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Type de réponse
Le brouillon de message.
Envoyer un brouillon de message
Étendue minimale requise
Un des éléments suivants :
Envoyez un nouveau brouillon de message, un brouillon de réponse, un brouillon de réponse à tousou un brouillon de transfert en utilisant la méthode Send. Le message est enregistré dans le dossier Éléments envoyés.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/send
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du brouillon de message à envoyer. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz7k0AAA=/send
Réponse d'échantillon
Status code: 202
Répondre ou répondre à tous les messages
Notes
Le comportement des opérations dans cette section varie selon la version. Découvrez-en plus en cliquant sur une version sous Référence API REST pour Office 365 dans la table des matières sur la gauche.
Vous pouvez répondre avec un commentaire à la volée, ou vous pouvez d’abord créer un brouillon de réponse, puis mettre à jour et envoyer ce brouillon.
Vous pouvez répondre uniquement à l’expéditeur du message ou répondre à tous les destinataires à la fois.
- Répondre à l’expéditeur à la volée
- Répondre à tous à la volée
- Créer un brouillon de message de réponse
- Créer un brouillon de message de réponse à tous
Répondre à l’expéditeur à la volée
Étendue minimale requise
Un des éléments suivants :
Répondez à l’expéditeur d’un message en spécifiant un commentaire et en utilisant la méthode Reply. Le message est enregistré dans le dossier Éléments envoyés.
Si vous avez besoin de modifier toutepropriétés modifiable pour la réponse, vous pouvez également commencer par créer un brouillon de message de réponse, mettre à jour les propriétés du message, puis envoyer la réponse.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/reply
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L'identifiant du message auquel répondre. |
Paramètres de corps | ||
Commentaire | chaîne | Commentaire à inclure. Peut être une chaîne vide. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/reply
Content-Type: application/json
{
"Comment": "Sounds great! See you tomorrow."
}
Réponse d'échantillon
Status code: 202
Répondre à tous à la volée
Étendue minimale requise
Un des éléments suivants :
Répondez à tous les destinataires d’un message en spécifiant un commentaire et en utilisant la méthode ReplyAll. Le message est enregistré dans le dossier Éléments envoyés.
Si vous avez besoin de modifier toutepropriété modifiable pour la réponse, vous pouvez également commencer par créer un brouillon de message de réponse à tous, mettre à jour les propriétés du message, puis envoyer la réponse.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/replyall
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L'identifiant du message auquel répondre. |
Paramètres de corps | ||
Commentaire | chaîne | Commentaire à inclure. Peut être une chaîne vide. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0MSz8DmAAA=/replyall
Content-Type: application/json
{
"Comment": "Thanks for the heads up."
}
Réponse d'échantillon
Status code: 202
Créer un brouillon de message de réponse
Étendue minimale requise
Un des éléments suivants :
Créer un brouillon pour la réponse au message spécifié. Vous pouvez ensuite mettre à jour le brouillon pour ajouter le contenu de la réponse à la propriété body ou modifier d’autres propriétés du message, ou simplement envoyer le brouillon.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreply
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L'identifiant du message auquel répondre. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKoAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
"Id": "AAMkADA1MTAAAH5JKoAAA=",
"CreatedDateTime": "2016-03-15T08:33:43Z",
"LastModifiedDateTime": "2016-03-15T08:33:43Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:33:43Z",
"SentDateTime": "2016-03-15T08:33:43Z",
"HasAttachments": false,
"InternetMessageId": "<DM2PR00MB00571796B16132601E1F286CF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "RE: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body>Fanny, would you name the group if the project is approved, please?\r\n<b>From:</b> Fanny Downs<br>\r\n<b>Sent:</b> Friday, March 4, 2016 12:23:35 AM<br>\r\n<b>To:</b> Admin<br>\r\n<b>Subject:</b> Re: Let's start a group</font>\r\n<p>That's a great idea!<br>\r\n</body>\r\n</html>"
},
"BodyPreview": "Fanny, would you name the group if the project is approved, please?\r\n________________________________\r\nFrom: Fanny Downs\r\nSent: Friday, March 4, 2016 12:23:35 AM\r\nTo: Admin\r\nSubject: Re: Let's start a group\r\n\r\n\r\nThat's a gre",
"Importance": "Normal",
"ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Admin",
"Address": "admin@contoso.onmicrosoft.com"
}
},
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTVGjIwpLvWmGtIo-aFE=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKoAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"MentionedMe": null,
"AppliedHashtagsPreview": null,
"LikesPreview": null,
"MentionsPreview": null,
"Mentioned": [ ],
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" }
}
Type de réponse
Le brouillon du message de réponse avec les propriétés ToRecipient, IsDraftet autres déjà pré-remplies.
Créer un brouillon de message de réponse à tous
Étendue minimale requise
Un des éléments suivants :
Créez un brouillon pour répondre à l’expéditeur et à tous les destinataires du message spécifié. Vous pouvez ensuite mettre à jour le brouillon pour ajouter du contenu de réponse au corps ou modifier d’autres propriétés du message, ou simplement envoyer le brouillon.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createreplyall
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L'identifiant du message auquel répondre. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createreplyall
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k5AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF\"",
"Id": "AAMkAGE0Mz7k5AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhF",
"Categories": [],
"CreatedDateTime": "2014-10-18T21:21:06Z",
"LastModifiedDateTime": "2014-10-18T21:21:06Z",
"Subject": "RE: Check out the new Office 365 APIs",
"BodyPreview": "If the project gets approved, please decide on the name.\r\n_________________________________\r\nFrom: Alex D\r\nSent: Saturday, October 18, 2014 9:18:18 PM\r\nTo: Katie Jordan; Garth Fort\r\nSubj",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0M3HbTkEU=",
"ReceivedDateTime": "2014-10-18T21:21:06Z",
"SentDateTime": "2014-10-18T21:21:06Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Type de réponse
Le brouillon du message de réponse à tous avec les propriétés ToRecipient, IsDraftet autres déjà pré-remplies.
Transférer des nouveaux messages ou des brouillons
Notes
Le comportement des opérations dans cette section varie selon la version. Découvrez-en plus en cliquant sur une version sous Référence API REST pour Office 365 dans la table des matières sur la gauche.
Vous pouvez transférer un message directement, ou vous pouvez créer un brouillon de message transféré, le mettre à jour et l’envoyer.
Transférer un message directement
Étendue minimale requise
Un des éléments suivants :
Transférez un message en utilisant la méthode Forward et éventuellement en spécifiant un commentaire. Le message est enregistré dans le dossier Éléments envoyés.
Si vous avez besoin de modifier une propriété modifiable dans le message à transmettre, vous pouvez également commencer par créer un brouillon de message à transférer, mettre à jour les propriétés du message, puis envoyer la réponse.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/forward
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message à transférer. |
Paramètres de corps | ||
Commentaire | chaîne | Commentaire à inclure. Peut être une chaîne vide. |
ToRecipients | Collection(Destinataire) | La liste des destinataires. |
Spécifiez les paramètres Comment et ToRecipients dans le corps de la requête.
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/forward
Content-Type: application/json
{
"Comment": "FYI",
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com"
}
}
]
}
Réponse d'échantillon
Status code: 202
Créer un brouillon de message de transfert
Étendue minimale requise
Un des éléments suivants :
Créez un brouillon pour transférer le message spécifié. Vous pouvez ensuite mettre à jour le brouillon pour ajouter du contenu au body ou modifier d’autres propriétés du message, ou simplement envoyer le brouillon.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/createforward
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message à transférer. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8DmAAA=/createforward
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k6AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG\"",
"Id": "AAMkAGE0Mz7k6AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AhG",
"Categories": [],
"CreatedDateTime": "2016-03-15T08:42:10Z",
"LastModifiedDateTime": "2016-03-15T08:42:10Z",
"Subject": "FW: Let's start a group",
"BodyPreview": "Dana, just want to make sure you get this.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:47:54 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubject: RE: Let's st",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEPAAA=",
"From": null,
"Sender": {
"EmailAddress": {
"Address": "'alexd@contoso.onmicrosoft.com'",
"Name": "Alex D"
}
},
"ToRecipients": [],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0M3HbTkEU=",
"ReceivedDateTime": "2016-03-15T08:42:10Z",
"SentDateTime": "2016-03-15T08:42:10Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": true,
"IsRead": true
}
Type de réponse
Le brouillon du message transfert avec la propriété IsDraft et les autres propriétés appropriées pré-remplies.
Mettre à jour les messages
Modifiez les propriétés modifiables d’un message et enregistrez les modifications.
Mettre à jour un message
Étendue minimale requise
Un des éléments suivants :
Modifiez les propriétés modifiables d’un brouillon ou d’un message existant. Seules les propriétés que vous spécifiez sont modifiées.
PATCH https://outlook.office.com/api/v2.0/me/messages/{message_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message à mettre à jour. |
Spécifiez une ou plusieurs propriétés message modifiables dans le corps de la requête.
Demande d'échantillon
PATCH https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8S-AAA=
Content-Type: application/json
{
"Categories": [
"Orange category",
"Green category"
],
"IsRead": true
}
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
"Id": "AAMkAGE0Mz8S-AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
"Categories": [
"Orange category",
"Green category"
],
"CreatedDateTime": "2014-10-17T17:12:15Z",
"LastModifiedDateTime": "2014-10-19T03:24:35Z",
"Subject": "Meeting notes from today",
"BodyPreview": "See attached",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n...</html>\r\n"
},
"Importance": "Normal",
"HasAttachments": true,
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGE0Mip-qvhs=",
"ReceivedDateTime": "2014-10-17T17:12:15Z",
"SentDateTime": "2014-10-17T17:12:12Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Type de réponse
Le message mis à jour.
Supprimer des messages
Notes
Soyez prudent lorsque vous supprimez des messages. La récupération des contenus supprimés peut être impossible. Pour en savoir plus, voir Suppression d’éléments.
Supprimer un message
Étendue minimale requise
Un des éléments suivants :
DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message à supprimer. |
Demande d'échantillon
DELETE https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8TBAAA=
Réponse d'échantillon
Status code: 204
Déplacer ou copier des messages
Vous pouvez déplacer ou copier un message dans un dossier.
Déplacer un message
Étendue minimale requise
Un des éléments suivants :
Déplacer un message vers un dossier. Crée une nouvelle copie du message dans le dossier de destination.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/move
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message à déplacer. |
Paramètres de corps | ||
DestinationId | chaîne | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGI2AAEJAAA="
}
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2shBhAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"Categories": [],
"CreatedDateTime": "2014-10-20T00:13:21Z",
"LastModifiedDateTime": "2014-10-20T00:13:23Z",
"Subject": "Contract Signing",
"BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
"Body": {
"ContentType": "Text",
"Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGI2AAEJAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2NGWgitxag=",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Type de réponse
Le message qui a été déplacé.
Copier un message
Étendue minimale requise
Un des éléments suivants :
Copier un message vers un dossier.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/copy
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message à copier. |
Paramètres de corps | ||
DestinationId | chaîne | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
"Id": "AAMkAGI2T8DtAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"Categories": [],
"CreatedDateTime": "2014-10-20T00:13:21Z",
"LastModifiedDateTime": "2014-10-20T00:13:23Z",
"Subject": "Contract Signing",
"BodyPreview": "There will be a detailed legal review of Project Falcon once the contract is ready.",
"Body": {
"ContentType": "Text",
"Content": "There will be a detailed legal review of Project Falcon once the contract is ready."
},
"Importance": "Normal",
"HasAttachments": false,
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"From": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"Sender": {
"EmailAddress": {
"Address": "alexd@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Alex D"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "katiej@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Katie Jordan"
}
},
{
"EmailAddress": {
"Address": "garthf@a830edad9050849NDA1.onmicrosoft.com",
"Name": "Garth Fort"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"ConversationId": "AAQkAGI2NGVhZTVlLTI1OGMtNDI4My1iZmE5LTA5OGJiZGEzMTc0YQAQAKjRc0YJSUBJpofjWgitxag=",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Type de réponse
La nouvelle copie du message.
Gérer la boîte de réception triée
La boîte de réception triée vous permet d’afficher les messages importants dans l’onglet Focused
de la boîte de réception, et le reste des messages de la boîte de réception dans l’onglet Other
. Le système de classement trie par défaut les messages de la boîte de réception. Vous pouvez corriger et former le système au fil du temps via l’interface utilisateur ou un programme. Plus vous l’utilisez, plus le système peut déduire quel message entrant est important.
Au niveau programmatique, l'API REST de la boîte de réception prioritaire fonctionne sur les messages de l’utilisateur spécifié et prend en charge une propriété InferenceClassification pour chaque message. Les valeurs possibles sont Focused
et Other
, qui indiquent si l’utilisateur considère ce message comme, respectivement, plus important ou moins important. Pour corriger et entraîner le système de classification des messages, utilisez l’opération PATCH sur la propriété InferenceClassification au niveau du message.
L'API REST Boîte de réception prioritaire vous permet également de créer des remplacements. Chaque remplacement, représenté par une instance InferenceClassificationOverride est une instruction pour le système de classification de toujours désigner les messages d’un expéditeur spécifique d’une manière cohérente (c’est-à-dire toujours comme "Prioritaire" ou toujours comme "Autre"), indépendamment de toute approche précédemment apprise. Vous pouvez créer, obtenir, mettre à jour et effacer des remplacements pour l’utilisateur spécifié. Les remplacements de cet utilisateur, le cas échéant, sont accessibles dans une propriété de navigation InferenceClassification, qui est une collection d’instances InferenceClassificationOverride instances. Les remplacements permettent à l’utilisateur de mieux contrôler la classification des messages entrants et renforcent la confiance dans le système de classification.
Notez que le système de classification apprend et applique la classification uniquement aux messages entrants dans la boîte de réception. Les messages dans d’autres dossiers sont par défaut "Prioritaires". La mise en place d’un remplacement affecte les futurs messages arrivant dans la boîte de réception ; le remplacement ne modifie pas la propriété InferenceClassification dans les messages existants dans tout dossier, y compris dans la boîte de réception.
Formation du système de classement des messages
Utiliser des remplacements pour classer les messages par expéditeur de façon cohérente
- Créer un remplacement pour un expéditeur
- Obtenir tous les remplacements utilisateurs
- Mise à jour d’un remplacement pour un expéditeur
- Supprimer un remplacement d’expéditeur
Mettre à jour la classification des messages
Étendue minimale requise
Un des éléments suivants :
Changez la propriété InferenceClassification du message spécifié. Si le message est dans la boîte de réception, l’utilisateur verra ce message sous l’onglet Focused
ou Other
correspondant. Ce type de correction entraîne également le système de classification des messages pour personnaliser la future classification pour l’utilisateur spécifié.
PATCH https://outlook.office.com/api/v2.0/me/messages('{message_id}')
PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/messages('{message_id}')
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du brouillon de message à envoyer. |
user_id | chaîne | Adresse de messagerie de l’utilisateur. |
Type de réponse
Le message mis à jour.
Demande d'échantillon
Cet exemple change la propriété InferenceClassification en Other
pour le message spécifié de l’utilisateur connecté.
PATCH https://outlook.office.com/api/v2.0/me/messages('AAMkADA1MTQBAAA=')
{
"InferenceClassification": "Other"
}
Réponse d'échantillon
L’objet de réponse montré ici montre la propriété InferenceClassification mise à jour et est tronqué à des fins de concision. Une requête PATCH réelle renvoie toutes les propriétés du message.
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTQBAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAffAsD\"",
"Id": "AAMkADA1MTQBAAA=",
"Importance": "Normal",
"Sender": {
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Admin",
"Address": "admin@adatum.onmicrosoft.com"
}
}
],
"InferenceClassification": "Other"
}
Créer un remplacement pour un expéditeur
Étendue minimale requise
Un des éléments suivants :
Créez un remplacement pour un expéditeur identifié par une adresse SMTP. Les futurs messages provenant de cette adresse SMTP seront classés de façon cohérente comme indiqué dans le remplacement.
Notes
- Si un remplacement existe déjà avec la même adresse SMTP, les champs ClassifyAs et Name de ce remplacement sont mis à jour avec les valeurs fournies.
- Le nombre maximal de remplacements pris en charge pour une boîte aux lettres est 1 000, en fonction des adresses SMTP d’expéditeur unique.
- L’opération POST prend en charge la création d’un seul remplacement à la fois. Pour créer plusieurs remplacements, vous pouvez envoyer plusieurs demandes POST ou les envoyer par lots.
POST https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
POST https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
user_id | chaîne | Adresse de messagerie de l’utilisateur. |
Type de réponse
Le InferenceClassificationOverride nouvellement créé, ou l’instance de InferenceClassificationOverride mise à jour si une adresse SMTP existe déjà.
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
{
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Réponse d'échantillon
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Obtenir tous les remplacements utilisateurs
Étendue minimale requise
Un des éléments suivants :
Obtenir les remplacements qu’un utilisateur a configurés pour toujours classer les messages provenant de certains expéditeurs de façon spécifique.
Chaque remplacement correspond à l’adresse SMTP d’un expéditeur. Au départ, un utilisateur n’a aucun remplacement.
GET https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
GET https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
user_id | chaîne | Adresse de messagerie de l’utilisateur. |
Type de réponse
Une collection d’instances de InferenceClassificationOverride. Une collection vide est renvoyée si l’utilisateur n’a mis en place aucun remplacement.
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides
Réponse d'échantillon
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf11a9b9')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf11a9b9",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
"ClassifyAs": "Other",
"SenderEmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@adatum.onmicrosoft.com"
}
}
]
}
Mise à jour d’un remplacement pour un expéditeur
Étendue minimale requise
Un des éléments suivants :
Modifiez le champ classifyAs d’un remplacement comme spécifié.
Vous ne pouvez pas utiliser PATCH pour modifier d’autres champs dans une instance inferenceClassificationOverride.
Si un remplacement existe pour un expéditeur et que ce dernier change son nom d’affichage, vous pouvez utiliser POST pour forcer une mise à jour du champ Name dans le remplacement existant.
Si un remplacement existe pour un expéditeur et qu’il change son adresse SMTP, le seul moyen de « mettre à jour » le remplacement pour cet expéditeur est de supprimer le remplacement existant et d’en créer un avec la nouvelle adresse SMTP.
PATCH https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('{override_id}')
PATCH https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
override_id | chaîne | L’ID du remplacement à mettre à jour. |
user_id | chaîne | Adresse de messagerie de l’utilisateur. |
Type de réponse
L’instance InferenceClassificationOverride mise à jour.
Demande d'échantillon
L’exemple suivant modifie un remplacement pour l’utilisateur connecté. Le remplacement est pour l’expéditeur avec l’adresse SMTP randiw@adatum.onmicrosoft.com, de Other
en Focused
.
PATCH https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
{
"ClassifyAs": "Focused"
}
Réponse d'échantillon
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/InferenceClassificationOverrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')",
"Id": "98f5bdef-576a-404d-a2ea-07a3cf34af4r",
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@adatum.onmicrosoft.com"
}
}
Supprimer un remplacement d’expéditeur
Étendue minimale requise
Un des éléments suivants :
Supprimer un remplacement spécifié par son ID.
DELETE https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('{override_id}')
DELETE https://outlook.office.com/api/v2.0/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
override_id | chaîne | L’ID du brouillon de message à envoyer. |
user_id | chaîne | Adresse de messagerie de l’utilisateur. |
Demande d'échantillon
DELETE https://outlook.office.com/api/v2.0/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
Réponse d'échantillon
Status code: 204 No Content
Gérer les @-Mentions (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.
Gérer les règles (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.
Se désabonner (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.
Obtenez des choix de langue (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.
Obtenez les choix de fuseau horaire (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 paramètres de boîte aux lettres
Étendue minimale requise
Obtenez les paramètres de la boîte aux lettres principale de l’utilisateur connecté. Des exemples de paramètres incluent la langue préférée de l’utilisateur et le fuseau horaire par défaut, ainsi que tous les paramètres de réponse automatique.
GET https://outlook.office.com/api/v2.0/me/MailboxSettings
Type de réponse
Pour obtenir uniquement le paramètre de langue préféré parmi tous les paramètres de boîte aux lettres :
GET https://outlook.office.com/api/beta/me/MailboxSettings/Language
Type de réponse
Pour obtenir uniquement le paramètre de fuseau horaire préféré parmi tous les paramètres de boîte aux lettres :
GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone
Type de réponse
Chaîne représentant le fuseau horaire préféré au format de fuseau horaire Windows.
Vous pouvez aussi obtenir spécifiquement les paramètres de réponse automatique.
Demande d'échantillon
L’exemple suivant obtient tous les paramètres de boîte aux lettres pour l’utilisateur connecté.
GET https://outlook.office.com/api/v2.0/me/MailboxSettings
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ExternalAudience": "All",
"ScheduledStartDateTime": {
"DateTime": "2016-03-14T07:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T07:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
},
"TimeZone": "Pacific Standard Time",
"Language":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
}
Obtenir les paramètres de réponse automatique
Étendue minimale requise
Obtenez les paramètres de réponse automatique de la boîte aux lettres de l’utilisateur connecté.
Les réponses automatiques vous permettent d’informer automatiquement les personnes avec un message lorsqu’elles vous envoient un e-mail. Par exemple, vous pouvez les avertir lorsque vous n’êtes pas disponible et que vous ne pouvez pas y répondre.
Les réponses automatiques font partie des paramètres de boîte aux lettres de l’utilisateur (représentés par MailboxSettings). Vous pouvez afficher les paramètres des réponses automatiques en obtenant tous les paramètres de boîte aux lettres, qui incluent les paramètres de réponses automatiques, ou en obtenant spécifiquement les paramètres de réponses automatiques.
Vous pouvez utiliser l’en-tête HTTP Prefer: outlook.timezone
pour spécifier le fuseau horaire préféré pour afficher les valeurs ScheduledStartDateTime et ScheduledEndDateTime.
GET https://outlook.office.com/api/v2.0/me/MailboxSettings/AutomaticRepliesSetting
Type de réponse
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/MailboxSettings/AutomaticRepliesSetting
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings/AutomaticRepliesSetting",
"Status": "AlwaysEnabled",
"ExternalAudience": "None",
"ScheduledStartDateTime": {
"DateTime": "2016-03-19T02:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-20T02:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
}
Mettre à jour les paramètres de réponse automatique
Étendue minimale requise
Les réponses automatiques font partie des paramètres de boîte aux lettres de l’utilisateur (représentés par MailboxSettings). Vous pouvez activer, configurer ou désactiver les réponses automatiques en mettant à jour les paramètres de boîte aux lettres correspondants.
Notes
Vous ne pouvez pas créer ou supprimer des paramètres de boîte de réception.
PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings
Type de réponse
Demande d'échantillon
Suivant l’exemple précédent montrant comment obtenir les paramètres de réponses automatiques, l’exemple suivant change le Status de AlwaysEnabled
en Scheduled
et les dates de début et de fin à une plage de dates différente.
PATCH https://outlook.office.com/api/v2.0/me/MailboxSettings
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ScheduledStartDateTime": {
"DateTime": "2016-03-20T18:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T18:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailboxSettings",
"AutomaticRepliesSetting": {
"Status": "Scheduled",
"ExternalAudience": "None",
"ScheduledStartDateTime": {
"DateTime": "2016-03-20T02:00:00.0000000",
"TimeZone": "UTC"
},
"ScheduledEndDateTime": {
"DateTime": "2016-03-28T02:00:00.0000000",
"TimeZone": "UTC"
},
"InternalReplyMessage": "<html>\n<body>\n<p>I'm at our company's worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n",
"ExternalReplyMessage": "<html>\n<body>\n<p>I'm at the Contoso worldwide reunion and will respond to your message as soon as I return.<br>\n</p></body>\n</html>\n"
},
"TimeZone": "Pacific Standard Time",
"Language":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
}
Obtenir des Infos-courriers (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.
Obtention des pièces jointes
Vous pouvez obtenir une collection de pièces jointes ou une pièce jointe.
Obtenir une collection de pièces jointes
Étendue minimale requise
Un des éléments suivants :
Obtenez les pièces jointes d’un message particulier.
GET https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message. |
Notes
Par défaut, chaque pièce jointe de la réponse inclut toutes ses propriétés correspondant à ce type de pièce jointe. 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.
Type de réponse
Une collection de pièces jointes pouvant être du type FileAttachment ou ItemAttachment.
Échantillon de requêtes et de réponses
L’exemple suivant montre comment utiliser $select
pour spécifier ne renvoyer que la propriété Name de chaque pièce jointe dans la réponse. Reportez-vous à l’exemple de réponse dans Obtenir une pièce jointe pour avoir une liste complète des propriétés qui seraient renvoyées pour une pièce jointe si vous n’utilisez pas $select
.
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
"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')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
"Id": "AAMkAGI2j4kShdM=",
"Name": "minutes.docx"
}
]
}
L’exemple suivant montre l’obtention de la seule pièce jointe qui est un élément de courrier Outlook. La réponse inclut un ID de pièce jointe qui est également l’ID du message joint.
GET https://outlook.office.com/api/v2.0/me/messages('AAMkADFiNTPAAA=')/attachments
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-20075df800e5@1717622f-1d94-4d0c-9d74-f907ad6677b4')/Messages('AAMkADFiNTPAAA=')/Attachments('AAMkADFiNTAUhhYuYi0=')",
"Id": "AAMkADFiNTAUhhYuYi0=",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
]
}
Obtenir une pièce jointe
Étendue minimale requise
Un des éléments suivants :
Obtenir une pièce jointe d’un message particulier.
GET https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message. |
attachment_id | chaîne | ID de la pièce jointe. |
Notes
Par défaut, la réponse inclut toutes les propriétés de la pièce jointe. Utilisez $select
pour spécifier uniquement les propriétés dont vous avez besoin pour de meilleurs niveaux de performance. Consultez Obtenir une collection de pièces jointes pour voir un exemple. 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.
Type de réponse
Le fichier joint ou l’élément joint demandés.
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/Messages('AAMkAGI2THVSAAA%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')/Messages('AAMkAGI2THVSAAA=')/Attachments('AAMkAGI2j4kShdM=')",
"Id": "AAMkAGI2j4kShdM=",
"LastModifiedDateTime": "2014-10-20T00:41:52Z",
"Name": "minutes.docx",
"ContentType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
"Size": 11585,
"IsInline": false,
"ContentId": null,
"ContentLocation": null,
"ContentBytes": "UEsDBBQABgAIAAAAIQDCAAA4KQAAAAA="
}
Exemple de requête (référence jointe)
L’exemple suivant obtient la référence jointe d’un message.
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"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 les pièces jointes)
L’exemple suivant obtient et développe les 3 références jointes inline avec les propriétés du message.
GET https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav\"",
"Id": "AAMkAGE1Mbs88AADUv0uFAAA=",
"CreatedDateTime": "2016-03-08T01:01:57Z",
"LastModifiedDateTime": "2016-03-12T06:18:54Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZsPav",
"Categories": [ ],
"ReceivedDateTime": "2016-03-08T01:01:57Z",
"SentDateTime": "2016-03-08T01:01:51Z",
"HasAttachments": true,
"InternetMessageId": "<SN2SR0101MB00299F0D7D22EE5D380104ED84B20@SN2SR0101MB0029.namsdf01.sdf.exchangelabs.com>",
"Subject": "RE: New year activity",
"Body": {
"ContentType": "html",
"Content": "<html>\r\n<<body>Let's gather to celebrate the new year! </body>\r\n</html>\r\n"
},
"BodyPreview": "What about the tulips?\r\n________________________________\r\nFrom: Dana Swope <danas@contoso.onmicrosoft.com>\r\nSent: Monday, March 7, 2016 10:51:39 PM\r\nTo: Dana Swope; Culinary Expert Group\r\nSubject: RE: New year activity\r\n\r\nLet's gather to celebrate the new year! ",
"Importance": "Normal",
"ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDAAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
},
{
"EmailAddress": {
"Name": "Culinary Expert Group",
"Address": "Chefs@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGE1MMM2SaRFsKgx7BKVfig=",
"ConversationIndex": "AQHRaThgdSG4wzZJpEWwqDHsEpV+KJ9OtWGUgAAkYLI=",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": false,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADUv0uFAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "FlagStatus": "NotFlagged" },
"Attachments@odata.context": "https://outlook.office.com/api/beta/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments",
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2016-03-12T05:54:31Z",
"Name": "Personal pictures",
"ContentType": null,
"Size": 362,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": true
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"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
},
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAO3wkFiM3KlCpn81m8qS1W0=",
"LastModifiedDateTime": "2016-03-12T06:18:54Z",
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 412,
"IsInline": false,
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/hydrangea.jpg",
"ProviderType": "OneDriveBusiness",
"ThumbnailUrl": null,
"PreviewUrl": null,
"Permission": "edit",
"IsFolder": false
}
]
}
Exemple de requête ($expand sur 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/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Réponse d'échantillon
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 pour un message.
Créer un fichier joint
Étendue minimale requise
Un des éléments suivants :
Ajouter un fichier joint à un message.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message. |
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. |
Spécifie les paramètres Nameet ContentBytes et toute propriété modifiable de fichier joint dans le corps de la requête.
Type de réponse
Le nouveau fichier joint.
Créer un élément joint
Étendue minimale requise
Un des éléments suivants :
Ajouter une pièce jointe à un message.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message. |
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 ou Event. | L’élément à joindre. |
Spécifie les paramètres Nameet Item et toute propriété modifiable depièce jointe dans le corps de la requête.
Type de réponse
Le nouvel élément joint.
Créer une référence jointe
Étendue minimale requise
Un des éléments suivants :
Ajouter une pièce jointe de référence à un message.
POST https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | Chaîne | L’ID du message. |
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.
Demande d'échantillon
L’exemple suivant ajoute une référence jointe à un message existant. La pièce jointe est un lien vers un fichier de OneDrive Entreprise.
POST https://outlook.office.com/api/v2.0/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments
Content-Type: application/json
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Name": "Koala picture",
"SourceUrl": "https://contoso-my.spoppe.com/personal/danas_contoso_onmicrosoft_com/Documents/Pics/koala.jpg",
"ProviderType": "oneDriveBusiness",
"Permission": "Edit",
"IsFolder": "False"
}
Réponse d'échantillon
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADUv0uFAAA%3D')/attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=",
"LastModifiedDateTime": "2016-03-12T06:04:38Z",
"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
}
Demande d'échantillon
L’exemple suivant ajoute une référence jointe dans le même appel que la création d’un brouillon de message. La pièce jointe est un lien vers un fichier de OneDrive Entreprise.
POST https://outlook.office.com/api/v2.0/me/messages
Content-Type: application/json
{
"Subject": "Plan for dinner",
"Body": {
"ContentType": "HTML",
"Content": "Office anniversary is coming soon!"
},
"ToRecipients": [
{
"EmailAddress": {
"Address": "randiw@contoso.onmicrosoft.com"
}
}
],
"Attachments": [
{
"@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"
}
]
}
Réponse d'échantillon
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages/$entity",
"@odata.etag": "W/\"CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1\"",
"Id": "AAMkAGE1Mbs88AADZ0CU9AAA=",
"CreatedDateTime": "2016-03-12T09:04:54Z",
"LastModifiedDateTime": "2016-03-12T09:04:54Z",
"ChangeKey": "CQAAABYAAACY4MQpaFz9SbqUDe4+bs88AADZ8qi1",
"Categories": [ ],
"ReceivedDateTime": "2016-03-12T09:04:54Z",
"SentDateTime": "2016-03-12T09:04:54Z",
"HasAttachments": true,
"InternetMessageId": "<BL2SR0101MB00188944566BDECE6EDE57F384B60@BL2SR0101MB0018.namsdf01.sdf.exchangelabs.com>",
"Subject": "Plan for dinner",
"Body": {
"ContentType": "html",
"Content": "<html>\r\n<body>\r\nOffice anniversary is coming soon!\r\n</body>\r\n</html>\r\n"
},
"BodyPreview": "Office anniversary is coming soon!",
"Importance": "normal",
"ParentFolderId": "AQMkAGE1MQN7j5uzzwAAAIBDwAAAA==",
"Sender": null,
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Randi Welch",
"address": "randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkAGE1MMAAQAJk0cqqggzpKtIHErqyDkcU=",
"ConversationIndex": "AQHRfD4+mTRyqqCDOkq0gcSurIORxQ==",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkAGE1Mbs88AADZ0CU9AAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "focused",
"UnsubscribeData": [ ],
"UnsubscribeEnabled": false,
"Flag": { "flagStatus": "notFlagged" },
"Attachments@odata.context": "https://outlook.office.com/api/v2.0/$metadata#users('ddfcd489-628b-40d7-b48b-57002df800e5')/messages('AAMkAGE1Mbs88AADZ0CU9AAA%3D')/attachments",
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.ReferenceAttachment",
"Id": "AAMkAGE1Mbs88AADZ0CU9AAABEgAQAGe4H1iqXwtLsrCCLLkDxqo=",
"LastModifiedDateTime": null,
"Name": "Hydrangea picture",
"ContentType": null,
"Size": 0,
"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
Étendue minimale requise
Un des éléments suivants :
Supprimer la pièce jointe spécifiée d’un message. La pièce jointe peut être un fichier joint ou un élément joint.
DELETE https://outlook.office.com/api/v2.0/me/messages/{message_id}/attachments/{attachment_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | chaîne | L’ID du message. |
attachment_id | chaîne | ID de la pièce jointe. |
Demande d'échantillon
DELETE https://outlook.office.com/api/v2.0/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=
Réponse d'échantillon
Status code: 204
Obtenir des dossiers
Vous pouvez obtenir une collection de dossiers ou un dossier dans la boîte aux lettres de l’utilisateur.
Obtenir une collection de dossiers
Étendue minimale requise
Un des éléments suivants :
Obtenez la collection de dossiers sous le dossier racine de l’utilisateur connecté (.../me/MailFolders
), ou sous le dossier spécifié. Vous pouvez utiliser le raccourci .../me/MailFolders
pour obtenir la collection de dossiers de niveau supérieur et naviguer vers un autre dossier.
GET https://outlook.office.com/api/v2.0/me/MailFolders
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID de dossier ou les noms de dossier connus Inbox , Drafts , SentItems ou DeletedItems , si vous recevez des messages depuis dossier spécifique. |
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/MailFolders
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEKAAA=')",
"Id": "AAMkAGI2AAEKAAA=",
"DisplayName": "Deleted Items",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 1
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEPAAA=')",
"Id": "AAMkAGI2AAEPAAA=",
"DisplayName": "Drafts",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
"Id": "AAMkAGI2AAEMAAA=",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 6,
"TotalItemCount": 6
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEeAAA=')",
"Id": "AAMkAGI2AAEeAAA=",
"DisplayName": "Junk Email",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAELAAA=')",
"Id": "AAMkAGI2AAELAAA=",
"DisplayName": "Outbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 0
},
{
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEJAAA=')",
"Id": "AAMkAGI2AAEJAAA=",
"DisplayName": "Sent Items",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 0,
"TotalItemCount": 3
}
]
}
Type de réponse
La collection de dossiers demandée.
Obtenir un dossier
Étendue minimale requise
Un des éléments suivants :
Obtenez un dossier par ID.
GET https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Obtenez un dossier de boîte aux lettres partagé par un utilisateur :
GET https://outlook.office.com/api/v2.0/users/{user_id}/mailFolders/{folder_id}
Notes
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Demande d'échantillon
GET https://outlook.office.com/api/v2.0/me/MailFolders/inbox
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGI2AAEMAAA=')",
"Id": "AAMkAGI2AAEMAAA=",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkAGI2AAEIAAA=",
"ChildFolderCount": 0,
"UnreadItemCount": 6,
"TotalItemCount": 6
}
Demande d'échantillon
Obtenir un dossier partagé par un autre utilisateur :
GET https://outlook.office.com/api/v2.0/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM
Réponse d'échantillon
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM')",
"Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM",
"DisplayName": "Inbox",
"ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4QCHGmLqkYhISaO_lSymODLQABa6L5YpAAA=",
"ChildFolderCount": 4,
"UnreadItemCount": 27962,
"TotalItemCount": 64420
}
Type de réponse
Le dossier demandé.
Synchroniser la hiérarchie des dossiers
Vous pouvez obtenir une table à plat de tous les dossiers dans une boîte aux lettres. Lorsque vous synchronisez une hiérarchie de dossiers de courrier, demandez cette catégorie.
Point de terminaison | Catégorie de dossier |
---|---|
Moi/MailFolders | Dossiers des courriers électroniques |
Vous pouvez uniquement synchroniser le niveau supérieur de chaque catégorie de dossier. Par exemple, vous pouvez demander Me/MailFolders mais non Me/MailFolders('inbox').
La synchronisation prend en charge à la fois la synchronisation complète qui récupère tous les dossiers d’une hiérarchie et la synchronisation incrémentielle qui récupère tous les dossiers qui ont été modifiés depuis la dernière synchronisation complète.
Étendue minimale requise
Un des éléments suivants :
GET https://outlook.office.com/api/v2.0/me/MailFolders
Paramètre requis | Type | Description |
---|---|---|
Paramètre d’en-tête | ||
Préférence | odata.trackchanges | Indique que la requête est une requête de synchronisation. |
Paramètres de corps | ||
odata.deltaLink | chaîne | Le jeton qui indique la dernière fois que la hiérarchie de dossiers a été synchronisée. |
Si l’un des paramètres de requête suivants - $filter
, $orderby
, $search
, $top
- sont inclus dans la requête, ils sont ignorés.
Type de réponse
Une liste à plat des dossiers dans la catégorie demandée.
Créer des dossiers
Ajouter un nouveau dossier à une collection de dossiers.
Créer un dossier
Étendue minimale requise
Un des éléments suivants :
Créez un dossier enfant avec le nom spécifié dans DisplayName. DisplayName est la seule propriété modifiable pour un dossier.
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/childfolders
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
Afficher un nom | chaîne | Nom d’affichage du dossier. |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/MailFolders/inbox/childfolders
Content-Type: application/json
{
"DisplayName": "Company"
}
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Company",
"ChildFolderCount": 0,
"UnreadItemCount": 2,
"TotalItemCount": 27
}
Type de réponse
Le nouveau dossier.
Remarques
Vous ne pouvez pas créer un dossier de niveau supérieur. Vous ne pouvez ajouter un dossier qu’à un point de terminaison childfolders
.
Mettre à jour des dossiers
Changez un nom de dossier.
Mettre à jour un dossier
Étendue minimale requise
Un des éléments suivants :
Changez le nom du dossier en celui spécifié dans DisplayName. Le nom est la seule propriété modifiable pour un dossier.
PATCH https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
Afficher un nom | chaîne | Le nouveau nom d’affichage du dossier. |
Demande d'échantillon
PATCH https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
"DisplayName": "Business"
}
Réponse d'échantillon
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38
}
Type de réponse
Ledossier mis à jour.
Supprimer des dossiers
Supprimer un dossier et tout son contenu.
Notes
Soyez prudent lorsque vous supprimez des dossiers. La récupération des contenus supprimés peut être impossible. Pour en savoir plus, voir Suppression d’éléments.
Supprimer un dossier
Étendue minimale requise
Un des éléments suivants :
Supprimer le dossier spécifié dans folder_id.
DELETE https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Demande d'échantillon
DELETE https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=
Réponse d'échantillon
Status code: 204
Déplacer ou copier des dossiers
Vous pouvez déplacer ou copier un dossier dans un autre dossier.
Déplacer un dossier
Étendue minimale requise
Un des éléments suivants :
Déplacez un dossier et son contenu vers un autre dossier en utilisant la méthode Move.
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/move
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
DestinationId | chaîne | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGE0MyxQ9AAA="
}
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-l_AAA=')",
"Id": "AAMkAGE0Mz-l_AAA=",
"ParentFolderId": "AAMkAGE0MyxQ9AAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38
}
Type de réponse
Le dossier qui a été déplacé.
Copier un dossier
Étendue minimale requise
Un des éléments suivants :
Copiez un dossier et son contenu vers un autre dossier en utilisant la méthode Move.
Demande d'échantillon
POST https://outlook.office.com/api/v2.0/me/MailFolders/{folder_id}/copy
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | chaîne | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
DestinationId | chaîne | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
POST https://outlook.office.com/api/v2.0/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Réponse d'échantillon
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/v2.0/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/v2.0/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/MailFolders('AAMkAGE0Mz-mAAAA=')",
"Id": "AAMkAGE0Mz-mAAAA=",
"ParentFolderId": "AAMkAGE0MAAEMAAA=",
"DisplayName": "Business",
"ChildFolderCount": 0,
"UnreadItemCount": 4,
"TotalItemCount": 38
}
Type de réponse
La nouvelle copie du dossier.
Étapes suivantes
Que vous soyez prêt à commencer à créer une application ou que vous souhaitiez simplement en apprendre plus, nous avons ce qu’il vous faut.
- Premiers pas avec les API REST Courrier, Calendrier et Contacts.
- Voulez-vous des exemples ? Nous en avons.
Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :
- API REST d’Outlook sur le Centre de développement Outlook
- Vue d’ensemble du processus de développement sur la plateforme Office 365
- Authentification d'application et autorisation de ressources Office 365
- Enregistrez manuellement votre application dans Azure AD pour qu’elle puisse accéder aux API Office 365
- Référence de l’API Calendrier
- Référence de l’API Contacts
- API REST Tâche (préversion)
- 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âches