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.

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.

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 :

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

  2. Si la première réponse renvoie l’en-tête Preference-Applied: odata.track-changes, vous pouvez poursuivre la synchronisation du répertoire.

  3. 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.

  4. 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 :

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

  2. 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 un deltaToken.
  • La seconde requête utilise ce deltaToken. La seconde réponse renvoie 2 messages, un nextLink et un skipToken.
  • Pour achever la synchronisation, utilisez le skipToken renvoyé par la demande de synchronisation précédente jusqu’à ce que la réponse de synchronisation renvoie un deltaLink et un deltaToken, auquel cas cette séquence de synchronisation est terminée. Enregistrez le deltaToken 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

É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

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

MailboxSettings.

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

LocaleInfo.

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

AutomaticRepliesSetting.

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

MailboxSettings.

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 Scheduledet 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.

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