Références de l’API Outlook Courrier (bêta)
S’applique à : Exchange Online | Office 365 | Hotmail.com | Live.com | MSN.com | Outlook.com | Passport.com** **
Notes
Cette documentation couvre l’API pour les @-mentions, les messages de désabonnement, les réponses rapides et les choix de langue et de fuseau horaire, qui sont tous actuellement en préversion. Les fonctionnalités de la préversion sont sujettes à des modifications avant leur finalisation. Elles peuvent donc entraîner des erreurs de code. Pour cette raison, nous vous conseillons généralement d’utiliser uniquement une version de production d’une API dans votre code de production. La v2.0 est actuellement privilégiée lorsqu’elle est disponible.
La version béta de l’API ne vous intéresse pas ? Dans la table des matières sur la gauche, accédez à la section Référence API REST pour Office 365 et sélectionnez la version souhaitée.
Toutes les opérations de l’API Mail
Opérations de message
Les messages sont stockés dans des dossiers de boîtes 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é soit par ID, soit par l’un des noms de dossiers connus suivants : Inbox
, Drafts
, SentItems
ou DeletedItems
.
- Récupérer les messages
- Synchroniser les messages
- Créer et envoyer des messages
- Répondre ou répondre à tous les messages
- Transférer des nouveaux messages ou des brouillons
- Mettre à jour les messages
- Suppression de messages
- Déplacer ou copier des messages
- Gérer la boîte de réception triée
- Gérer les @-Mentions (aperçu)
- Gérer les règles (aperçu)
- Se désinscrire (aperçu)
- Obtenez les choix de langue (aperçu)
- Obtenez les choix de fuseau horaire (aperçu)
- Obtenir des paramètres de boîte aux lettres
- Obtenir les paramètres de réponse automatique
- Mettre à jour les paramètres de réponse automatique
- Obtenir les infos-courrier (aperçu)
- Obtention des pièces jointes
- Créer des pièces jointes
- Supprimer les pièces jointes
Opérations de dossier
Les dossiers de boîte de réception peuvent contenir des messages et d'autres dossiers. Vous pouvez récupérer, créer, modifier, supprimer et gérer des dossiers. Vous pouvez utiliser les noms de dossiers connus suivants à la place de l’ID pour spécifier le dossier correspondant : Inbox
, SentItems
, Drafts
ou DeletedItems
.
- Obtenir des dossiers
- Synchroniser des dossiers
- Créer des dossiers
- Mettre à jour des dossiers
- Supprimer des dossiers
- Déplacer ou copier des dossiers
Voir aussi
Utiliser l’API REST Courrier
Authentification
Comme les autres API REST Outlook, pour chaque requête envoyée à l’API Courrier, vous devez inclure un jeton d’accès valide. Pour obtenir un jeton d’accès, vous devez avoir inscrit et identifié votre application, et obtenu l’autorisation appropriée.
Vous pouvez en apprendre plus sur certaines options d’inscription et d’autorisation simplifiées pour vous. Gardez cela à l’esprit lorsque vous effectuez des opérations spécifiques dans l’API Courrier.
Version de l’API
L’API REST Courrier est prise en charge dans toutes les versions de l’API REST Outlook. La fonctionnalité peut différer selon la version spécifique.
Utilisateur cible
Toutes les requêtes d’API Courrier sont effectuées au nom de l’utilisateur connecté, sauf indication contraire. Quelques sous-ensembles d’API, tels que l'API Boîte de réception Prioritaire, peuvent être effectués sur l’utilisateur connecté ou sur un utilisateur spécifié par un ID utilisateur, avec les autorisations appropriées.
Voir Utiliser l’API REST Outlook pour plus d’informations communes à tous les sous-ensembles de l’API REST Outlook.
Récupérer les messages
Vous pouvez récupérer une collection de messages ou un message individuel depuis un dossier de boîte aux lettres.
Chaque message de la réponse contient plusieurs propriétés, parmi lesquelles la propriété Body. Le corps du message peut être au format texte ou HTML. Si le corps est au format HTML, par défaut, le contenu HTML potentiellement dangereux (par exemple, un code JavaScript) incorporé dans la propriété Body sera supprimé avant que le contenu du corps ne soit renvoyé dans une réponse REST.
Pour récupérer le contenu HTML d’origine dans son intégralité, incluez l’en-tête de requête HTTP suivant :
Prefer: outlook.allow-unsafe-html
Pour spécifier le format souhaité à renvoyer dans les propriétés Body et UniqueBody dans une requête GET, utilisez l’en-tête Prefer: outlook.body-content-type
:
- Spécifiez
Prefer: outlook.body-content-type="text"
pour récupérer le corps du message au format texte. - Spécifiez
Prefer: outlook.body-content-type="html"
, ou ignorez simplement l’en-tête, pour renvoyer le corps du message au format HTML.
Si vous spécifiez l’un ou l’autre en-tête, la réponse inclura l’en-tête Preference-Applied
comme confirmation :
- Pour les requêtes au format texte :
Preference-Applied: outlook.body-content-type="text"
- Pour les requêtes au format HTML :
Preference-Applied: outlook.body-content-type="html"
Récupérer une collection de messages
Étendue minimale requise
Un des éléments suivants :
Notes
Le comportement des opérations dans cette section varie selon la version. Découvrez 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 la 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/beta/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/beta/me/MailFolders/{folder_id}/messages
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | 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 entière |
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
.
Exemple de demande
GET https://outlook.office.com/api/beta/me/MailFolders/sentitems/messages/?$select=Sender,Subject
Exemple de réponse
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('sentitems')/Messages(Sender,Subject)",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/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/beta/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/beta/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/beta/me/messages/{message_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message. |
Exemple de demande
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=
Exemple de réponse
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"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=",
"ConversationIndex": "AQHRh3zqrkAcds2kw==",
"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/beta/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 complète de synchronisation de messages :
Faire la requête GET initiale avec l’en-tête Prefer: odata.track-changes obligatoire. La réponse initiale à une requête de synchronisation renvoie toujours un deltaToken. (Les requêtes GET suivantes diffèrent de la première requête GET car elles incluent soit un deltaToken soit un skipToken reçu dans une réponse précédente.)
Si la première réponse renvoie l’en-tête Preference-Applied: odata.track-changes, vous pouvez poursuivre la synchronisation du répertoire.
Effectuer une seconde requête GET. Spécifiez l’en-tête Prefer: odata.track-changes et le deltaToken renvoyé par le premier GET pour déterminer s’il existe des messages supplémentaires. La deuxième requête renverra des messages supplémentaires, et soit un skipToken s’il y a davantage de messages disponibles, soit un deltaToken si le dernier message a été synchronisé, auquel cas la séquence de synchronisation est terminée et vous pouvez vous arrêter.
Poursuivre la synchronisation en envoyant un appel GET et en incluant un skipToken renvoyé par l’appel précédent. Arrêter lorsque vous obtenez une dernière réponse contenant un en-tête @odata.deltaLink avec un deltaToken à nouveau, ce qui indique que la synchronisation est terminée.
Mettez en cache le dernier jeton delta reçu dans la séquence de synchronisation complète. Utilisez-le pour lancer une séquence de synchronisation incrémentielle.
Voici une séquence de synchronisation incrémentielle :
Faire la demande GET initiale avec l’en-tête Prefer: odata.track-changes requis et le deltaToken en cache reçu dans la dernière réponse d’un cycle de synchronisation complet.
Les étapes suivantes suivent le modèle utilisé pour une synchronisation complète.
Pour synchroniser les messages dans un dossier spécifique
Première requête
GET https://outlook.office365.com/api/beta/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/beta/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/beta/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 | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems à synchroniser. Obligatoire. |
deltaToken | Chaîne | Jeton qui identifie la dernière requête de synchronisation pour ce dossier. Il est renvoyé comme partie de la valeur de @odata.deltaLink dans cette réponse de synchronisation précédente. Obligatoire pour la deuxième requête GET. |
skipToken | Chaîne | Jeton qui indique qu’il n’y a plus de messages à télécharger. Obligatoire s’il est renvoyé comme partie de la valeur de @odata.nextLink dans la réponse de synchronisation précédente. |
Par défaut, la synchronisation renvoie toutes les propriétés et tous les messages d’un dossier. Utilisez $select pour spécifier uniquement les propriétés dont vous avez besoin pour obtenir les meilleurs niveaux de performance. La propriété Id est toujours renvoyée.
La synchronisation prend en charge les expressions de requête $select, $top et $expand. Il existe un support limité pour $filter et $orderby, et pas de support pour $search.
- Les seules expressions $filter supportées sont "$filter=ReceivedDateTime+ge+{value}" ou "$filter=ReceivedDateTime+gt+{value}".
- La seule expression $orderby supportée est "$orderby=ReceivedDateTime+desc". Si vous n’incluez pas d’expression $orderby, l’ordre de tri n’est pas garanti.
Voir Paramètres de requête OData pour les paramètres de filtrage, de tri et de pagination.
Type de réponse
Une collection contenant les messages demandés et un deltaToken ou un skipToken à utiliser pour demander des pages supplémentaires de données de message du serveur pour une synchronisation incrémentielle.
Exemple
L’exemple suivant montre une série de requêtes permettant de synchroniser un dossier spécifique contenant 7 messages. La première requête de synchronisation spécifie le renvoi de deux messages à la fois (odata.maxpagesize est à 2), et seulement les propriétés Sender et Subject pour chaque message.
- La réponse initiale renvoie 2 messages, un
deltaLink
et undeltaToken
. - La seconde requête utilise ce
deltaToken
. La seconde réponse renvoie 2 messages, unnextLink
et unskipToken
. - Pour achever la synchronisation, utilisez le
skipToken
renvoyé par la demande de synchronisation précédente jusqu’à ce que la réponse de synchronisation renvoie undeltaLink
et undeltaToken
, auquel cas cette séquence de synchronisation est terminée. Enregistrez ledeltaToken
pour la prochaine séquence de synchronisation.
Exemple de première requête
GET https://outlook.office.com/api/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages?$select=Subject,Sender HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Exemple 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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24deltatoken=MfzCBD5nm2dcGAFGk5qypL1PSyEAADFmX28BAAAA HTTP/1.1
Prefer: odata.maxpagesize=2
Prefer: odata.track-changes
Exemple 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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/Me/MailFolders('AAMkAGI5MAAAwW-j-AAA=')/messages/?%24select=Subject%2cSender&%24skipToken=MfzCAj5nm2dcGAFGk5qypL1PSyEAADFmX28CAAAA"
}
Exemple 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/beta/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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/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/beta/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/beta/$metadata#Me/MailFolders('AAMkAGI5MAAAwW-j-AAA%3D')/Messages(Subject,Sender)/$delta",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/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/beta/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/beta/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/beta/$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/beta/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.
Exemple de demande
POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json
{
"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"
}
Exemple de réponse
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/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | 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.
Exemple de demande
POST https://outlook.office.com/api/beta/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"
}
}
]
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz7k0AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5\"",
"Id": "AAMkAGE0Mz7k0AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0Ag5",
"Categories": [],
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"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=",
"ConversationIndex": "AQHRf4zqrkAcds2kw==",
"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 alors enregistré dans le dossier Éléments envoyés.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/send
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du brouillon de message à envoyer. |
Exemple de demande
POST https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz7k0AAA=/send
Exemple de réponse
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 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 à un message, ajouter un commentaire ou mettre à jour les propriétés du message en un seul appel. Vous pouvez également créer d’abord un brouillon de réponse et mettre à jour les propriétés du message en un seul appel, puis envoyer le brouillon.
Vous pouvez répondre uniquement à l’expéditeur du message ou répondre à tous les destinataires à la fois.
- Répondre à l’expéditeur à la volée
- Répondre à tous à la volée
- Créer un brouillon de message de réponse
- Créer un brouillon de message de réponse à tous
Répondre à l’expéditeur à la volée
Étendue minimale requise
Un des éléments suivants :
Répondre à l’expéditeur d’un message, ajouter un commentaire ou modifier toute propriété pouvant être mise à jour en un seul appel Reply. Le message est alors enregistré dans le dossier Éléments envoyés.
Vous pouvez également commencer par créer un brouillon de message de réponse pour inclure un commentaire ou mettre à jour les propriétés du message, puis envoyer la réponse.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/reply
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L'identifiant du message auquel répondre. |
Paramètres de corps | ||
Commentaire | string | Commentaire à inclure. Peut être une chaîne vide. |
Message | Message | Toutes les propriétés modifiables à mettre à jour dans le message de réponse. |
Notes
- Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre
Message
. Spécifier les deux renverra une erreur HTTP 400 Bad Request. - Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans ReplyTo et non au destinataire dans From.
Exemple de demande
L’exemple suivant inclut un commentaire et ajoute un destinataire au message de réponse.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json
{
"Message":{
"ToRecipients":[
{
"EmailAddress": {
"Address":"fannyd@contoso.onmicrosoft.com",
"Name":"Fanny Downs"
}
},
{
"EmailAddress":{
"Address":"randiw@contoso.onmicrosoft.com",
"Name":"Randi Welch"
}
}
]
},
"Comment": "Fanny, Randi, would you name the group please?"
}
Exemple de réponse
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 modifiant toute propriété modifiable pour la réponse, le tout en utilisant la méthode ReplyAll. Le message est alors enregistré dans le dossier Éléments envoyés.
Vous pouvez également commencer par créer un brouillon de message de réponse à tous pour inclure un commentaire ou mettre à jour les propriétés du message, puis envoyer la réponse.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/replyall
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L'identifiant du message auquel répondre. |
Paramètres de corps | ||
Commentaire | string | Commentaire à inclure. Peut être une chaîne vide. |
Message | Message | Toutes les propriétés modifiables à mettre à jour dans le message de réponse. |
Notes
- Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre
Message
. Spécifier les deux renverra une erreur HTTP 400 Bad Request. - Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans ReplyTo et ToRecipients, et non aux destinataires dans From et ToRecipients.
Exemple de demande
L’exemple suivant inclut un commentaire et ajoute une pièce jointe au message répondre-à-tous.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/ReplyAll
Content-Type: application/json
{
"Message":{
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "guidelines.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"Comment": "Please take a look at the attached guidelines before you decide on the name."
}
Exemple de réponse
Status code: 202
Créer un brouillon de message de réponse
Étendue minimale requise
Un des éléments suivants :
Créer un brouillon du message de réponse pour inclure un commentaire ou mettre à jour les propriétés du message en un seul appel CreateReply. Vous pouvez ensuite envoyer le brouillon du message.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreply
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L'identifiant du message auquel répondre. |
Paramètres de corps | ||
Commentaire | string | Commentaire à inclure. Peut être une chaîne vide. |
Message | Message | Toutes les propriétés modifiables à mettre à jour dans le message de réponse. |
Notes
- Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre
Message
. Spécifier les deux renverra une erreur HTTP 400 Bad Request. - Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans ReplyTo et non aux destinataires dans From.
Exemple de demande
L'exemple suivant crée un brouillon de réponse et ajoute un commentaire et un destinataire dans le corps de la demande.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/createreply
Content-Type: application/json
{
"Message":{
"ToRecipients":[
{
"EmailAddress": {
"Address":"fannyd@contoso.onmicrosoft.com",
"Name":"Fanny Downs"
}
}
]
},
"Comment": "Fanny, would you name the group if the project is approved, please?"
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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=",
"ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBHStBQ=",
"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 du message de réponse à tous pour inclure un commentaire ou mettre à jour les propriétés du message en un seul appel CreateReplyAll. Vous pouvez ensuite envoyer le brouillon du message.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createreplyall
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’identifiant du message auquel répondre à tous. |
Paramètres de corps | ||
Commentaire | string | Commentaire à inclure. Peut être une chaîne vide. |
Message | Message | Toutes les propriétés modifiables à mettre à jour dans le message de réponse. |
Notes
- Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre
Message
. Spécifier les deux renverra une erreur HTTP 400 Bad Request. - Si ReplyTo est spécifié dans le message d’origine, selon le Internet Message Format (RFC 2822), vous devez envoyer la réponse aux destinataires dans les propriétés ReplyTo et ToRecipients, et non aux destinataires dans les propriétés From et ToRecipients.
Exemple de demande
L’exemple suivant crée un brouillon de réponse à tous, et ajoute une pièce jointe et un commentaire en un seul appel CreateReplyAll.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/createreplyall
Content-Type: application/json
{
"Message":{
"Attachments": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"Name": "guidelines.txt",
"ContentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"Comment": "if the project gets approved, please take a look at the attached guidelines before you decide on the name."
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKpAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP\"",
"Id": "AAMkADA1MTAAAH5JKpAAA=",
"CreatedDateTime": "2016-03-15T08:37:34Z",
"LastModifiedDateTime": "2016-03-15T08:37:34Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DP",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:37:34Z",
"SentDateTime": "2016-03-15T08:37:34Z",
"HasAttachments": true,
"InternetMessageId": "<DM2PR00MB005732BE05BD669AC7CE056EF7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "RE: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body dir=\"ltr\">\r\nif the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:36:32 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group\r\n<div>Fanny, Randi, would you name the group 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</body>\r\n</html>"
},
"BodyPreview": "if the project gets approved, please take a look at the attached guidelines before you decide on the name.\r\n________________________________\r\nFrom: Admin\r\nSent: Tuesday, March 15, 2016 6:36:32 AM\r\nTo: Fanny Downs; Randi Welch\r\nSubj",
"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"
}
},
{
"EmailAddress": {
"Name": "Randi Welch",
"Address": "randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
"ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAACHRQA==",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKpAAA%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 à 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 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, ajouter un commentaire ou mettre à jour les propriétés du message en un seul appel. Vous pouvez également d’abord créer un brouillon et mettre à jour les propriétés du message en un seul appel, puis envoyer le brouillon.
Transférer un message directement
Étendue minimale requise
Un des éléments suivants :
Transférez un message, ajoutez un commentaire ou modifiez les propriétés pouvant être mises à jour en un seul appel Forward. Le message est alors enregistré dans le dossier Éléments envoyés.
Vous pouvez également commencer par créer un brouillon de message transféré pour inclure un commentaire ou mettre à jour les propriétés du message, puis envoyer la réponse.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/forward
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message à transférer. |
Paramètres de corps | ||
Commentaire | string | Commentaire à inclure. Peut être une chaîne vide. |
ToRecipients | Collection(Recipient) | La liste des destinataires. |
Message | Message | Toutes les propriétés modifiables à mettre à jour dans le message de réponse. |
Notes
- Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre
Message
. Spécifier les deux renverra une erreur HTTP 400 Bad Request. - Vous devez spécifier soit le paramètre
ToRecipients
soit la propriété ToRecipients du paramètreMessage
. Spécifier les deux ou n’en spécifier aucun renverra une erreur HTTP 400 Bad Request.
Exemple de demande
L'exemple suivant donne à la propriété IsDeliveryReceiptRequested la valeur true, ajoute un commentaire et transmet le message.
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/forward
Content-Type: application/json
{
"Message":{
"IsDeliveryReceiptRequested": true,
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
]
},
"Comment": "Dana, just want to make sure you get this."
}
Exemple de réponse
Status code: 202
Créer un brouillon de message de transfert
Étendue minimale requise
Un des éléments suivants :
Créer un brouillon de message de transfert pour inclure un commentaire ou mettre à jour les propriétés du message en un seul appel CreateForward. Vous pouvez ensuite envoyer le brouillon du message.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/createforward
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message à transférer. |
Paramètres de corps | ||
Commentaire | string | Commentaire à inclure. Peut être une chaîne vide. |
ToRecipients | Collection(Recipient) | La liste des destinataires. |
Message | Message | Toutes les propriétés modifiables à mettre à jour dans le message de réponse. |
Notes
- Vous pouvez spécifier soit un commentaire, soit la propriété Body du paramètre
Message
. Spécifier les deux renverra une erreur HTTP 400 Bad Request. - Vous devez spécifier soit le paramètre
ToRecipients
soit la propriété ToRecipients du paramètreMessage
. Spécifier les deux ou n’en spécifier aucun renverra une erreur HTTP 400 Bad Request.
Exemple de demande
POST https://outlook.office.com/api/beta/me/messages/AAMkADA1MTAAAH5JaLAAA=/createforward
Content-Type: application/json
{
"Message":{
"IsDeliveryReceiptRequested": true,
"ToRecipients":[
{
"EmailAddress": {
"Address":"danas@contoso.onmicrosoft.com",
"Name":"Dana Swope"
}
}
]
},
"Comment": "Dana, just want to make sure you get this; you'll need this if the project gets approved."
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/Messages('AAMkADA1MTAAAH5JKqAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ\"",
"Id": "AAMkADA1MTAAAH5JKqAAA=",
"CreatedDateTime": "2016-03-15T08:42:10Z",
"LastModifiedDateTime": "2016-03-15T08:42:10Z",
"ChangeKey": "CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DQ",
"Categories": [ ],
"ReceivedDateTime": "2016-03-15T08:42:10Z",
"SentDateTime": "2016-03-15T08:42:10Z",
"HasAttachments": true,
"InternetMessageId": "<DM2PR00MB0057E0EBC90EF37FC9233941F7890@DM2PR00MB0057.namprd00.prod.outlook.com>",
"Subject": "FW: Let's start a group",
"Body": {
"ContentType": "HTML",
"Content": "<html>\r\n<body>\r\nDana, just want to make sure you get this; you'll need this if the project gets approved.\r\n<b>From:</b> Admin<br>\r\n<b>Sent:</b> Tuesday, March 15, 2016 6:47:54 AM<br>\r\n<b>To:</b> Fanny Downs; Randi Welch<br>\r\n<b>Subject:</b> RE: Let's start a group</body>\r\n</html>\r\n"
},
"BodyPreview": "Dana, just want to make sure you get this; you'll need this if the project gets approved.\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",
"Importance": "Normal",
"ParentFolderId": "AQMkADA1MTAAAAIBDwAAAA==",
"Sender": {
"EmailAddress": {
"Name": "Admin",
"Address": "admin@contoso.onmicrosoft.com"
}
},
"From": null,
"ToRecipients": [
{
"EmailAddress": {
"Name": "Dana Swope",
"Address": "danas@contoso.onmicrosoft.com"
}
}
],
"CcRecipients": [ ],
"BccRecipients": [ ],
"ReplyTo": [ ],
"ConversationId": "AAQkADA1MTLvWmGtIo-aFE=",
"ConversationIndex": "AQHRdar6akFxUaMjCku9aYa0ij9oUZ9IbLr7gBGx9qGAAAMtlIAAH+3c",
"IsDeliveryReceiptRequested": true,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": true,
"WebLink": "https://outlook.office.com/owa/?ItemID=AAMkADA1MTAAAH5JKqAAA%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 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/beta/me/messages/{message_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message à mettre à jour. |
Spécifiez une ou plusieurs propriétés message modifiables dans le corps de la requête.
Exemple de demande
L’exemple de requête suivant définit deux catégories sur un message électronique et marque le message avec un début et une date d’échéance.
Notes
Si le FlagStatus est défini sur Flagged
, la propriété Flag.CompletedDate ne doit pas être définie.
PATCH https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=
Content-Type: application/json
{
"Categories": [
"Orange category",
"Green category"
],
"IsRead": true,
"Flag": {
"FlagStatus": "Flagged",
DueDateTime": {
"DateTime": "2017-12-22T08:00:00.0000000",
"TimeZone": "UTC"
},
"StartDateTime": {
"DateTime": "2017-12-18T08:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8S-AAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP\"",
"Id": "AAMkAGE0Mz8S-AAA=",
"ChangeKey": "CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIP",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"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=",
"ConversationIndex": "AQHRh5tqrkAcds2kw==",
"ReceivedDateTime": "2014-10-17T17:12:15Z",
"SentDateTime": "2014-10-17T17:12:12Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true,
"Flag": {
"FlagStatus": "Flagged",
"DueDateTime": {
"DateTime": "2017-12-22T08:00:00.0000000",
"TimeZone": "UTC"
},
"StartDateTime": {
"DateTime": "2017-12-18T08:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Exemple de demande
Les exemples de requêtes suivants marquent un message électronique précédemment marqué comme complet
PATCH https://outlook.office.com/api/beta/me/messages/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=
Content-Type: application/json; charset=utf-8
Content-Length: 164
{
"Flag": {
"CompletedDateTime":{
"DateTime": "2018-02-05T18:00:00",
"TimeZone": "Pacific Standard Time"
},
"FlagStatus": "Complete"
}
}
Exemple de réponse
HTTP/1.1 200 OK
{
"Id": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkSLkRkXbBznTvAAEwgCZNAAA=",
"CreatedDateTime": "2017-12-15T22:11:41Z",
"LastModifiedDateTime": "2017-12-16T00:49:44Z",
"ChangeKey": "CQAAABYAAABmngqUDhbeSLkRkXbBznTvAAEw/ThM",
"Categories": [],
"ReceivedDateTime": "2017-12-15T22:11:41Z",
"SentDateTime": "2017-12-15T22:11:36Z",
"HasAttachments": false,
"InternetMessageId": "<e711230d-d066-469e-a128-c429c5789d97@SINGMEHUB02.gme.gbl>",
"Subject": "An agent sent you a message in Microsoft Teams",
"BodyPreview": "Hi John,\r\nYou're missing all the action in Microsoft Teams\r\n\r\n\r\nAn agent\r\nSent a new message to your chat\r\n\r\n Open Microsoft Teams\r\n\r\nRather not receive these emails? Click your profile picture, select Options and then Notificatio",
"Importance": "Normal",
"ParentFolderId": "AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAuAAAAAAB79HWXBjsTRocnYZpOfEpCAQCHGmLqkYhISaO_lSymODLQABa6L5YsAAA=",
"ConversationId": "AAQkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM4NzJkNzQ0NWVlMgAQAPQcMVQTnE5Aql13YD1jbQw=",
"ConversationIndex": "AQHTdfGv9BwxVBOcTkCqXXdgPWNtDA==",
"IsDeliveryReceiptRequested": null,
"IsReadReceiptRequested": false,
"IsRead": true,
"IsDraft": false,
"WebLink": "https://outlook.office365.com/owa/?ItemID=AAMkADTvAAEwgCZNAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"InferenceClassification": "Other",
"UnsubscribeData": [],
"UnsubscribeEnabled": false,
"Body": {
"ContentType": "HTML",
"Content": "<html style=\"font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif; font-size:18px\"></html>\r\n"
},
"Sender": {
"EmailAddress": {
"Name": "Microsoft Teams",
"Address": "noreply@email.teams.microsoft.com"
}
},
"From": {
"EmailAddress": {
"Name": "Microsoft Teams",
"Address": "noreply@email.teams.microsoft.com"
}
},
"ToRecipients": [
{
"EmailAddress": {
"Name": "John",
"Address": "john@contoso.com"
}
}
],
"CcRecipients": [],
"BccRecipients": [],
"ReplyTo": [],
"MentionsPreview": null,
"Flag": {
"FlagStatus": "Complete",
"CompletedDateTime": {
"DateTime": "2018-02-06T00:00:00.0000000",
"TimeZone": "UTC"
}
}
}
Type de réponse
Le message mis à jour.
Suppression de 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/beta/me/messages/{message_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message à supprimer. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8TBAAA=
Exemple de réponse
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/beta/me/messages/{message_id}/move
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message à déplacer. |
Paramètres de corps | ||
DestinationId | string | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGI2AAEJAAA="
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0MGz_vSAAA=')",
"@odata.etag": "W/\"CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP\"",
"Id": "AAMkAGI2shBhAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"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=",
"ConversationIndex": "AQHRh6etrkAcds2kw==",
"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/beta/me/messages/{message_id}/copy
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message à copier. |
Paramètres de corps | ||
DestinationId | string | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/messages/AAMkAGI2TIy-AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/Messages('AAMkAGE0Mz8TDAAA=')",
"@odata.etag": "W/\"CQAAABYAAAAmP1Ln1wcHRariNdTMGAO9AAAS0AIS\"",
"Id": "AAMkAGI2T8DtAAA=",
"ChangeKey": "CQAAABYAAACd9nJ/tVysQos2hTfspaWRAAADTJqP",
"InternetMessageId": "SN2PR00M@SN2.namprd00.prod.outlook.com",
"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=",
"ConversationIndex": "AQHRh6sdrkAcds2kw==",
"ReceivedDateTime": "2014-10-20T00:13:21Z",
"SentDateTime": "2014-10-20T00:13:21Z",
"IsDeliveryReceiptRequested": false,
"IsReadReceiptRequested": false,
"IsDraft": false,
"IsRead": true
}
Type de réponse
La nouvelle copie du message.
Gérer la boîte de réception triée
La boîte de réception triée vous permet d’afficher les messages importants dans l’onglet Focused
de la boîte de réception, et le reste des messages de la boîte de réception dans l’onglet Other
. Le système de classement trie par défaut les messages de la boîte de réception. Vous pouvez corriger et former le système au fil du temps via l’interface utilisateur ou un programme. Plus vous l’utilisez, plus le système peut déduire quel message entrant est important.
Au niveau programmatique, l'API REST de la boîte de réception prioritaire fonctionne sur les messages de l’utilisateur spécifié et prend en charge une propriété InferenceClassification pour chaque message. Les valeurs possibles sont Focused
et Other
, qui indiquent si l’utilisateur considère ce message comme, respectivement, plus important ou moins important. Pour corriger et entraîner le système de classification des messages, utilisez l’opération PATCH sur la propriété InferenceClassification au niveau du message.
L'API REST Boîte de réception prioritaire vous permet également de créer des remplacements. Chaque remplacement, représenté par une instance InferenceClassificationOverride est une instruction pour le système de classification de toujours désigner les messages d’un expéditeur spécifique d’une manière cohérente (c’est-à-dire toujours comme "Prioritaire" ou toujours comme "Autre"), indépendamment de toute approche précédemment apprise. Vous pouvez créer, obtenir, mettre à jour et effacer des remplacements pour l’utilisateur spécifié. Les remplacements de cet utilisateur, le cas échéant, sont accessibles dans une propriété de navigation InferenceClassification, qui est une collection d’instances InferenceClassificationOverride instances. Les remplacements permettent à l’utilisateur de mieux contrôler la classification des messages entrants et renforcent la confiance dans le système de classification.
Notez que le système de classification apprend et applique la classification uniquement aux messages entrants dans la boîte de réception. Les messages dans d’autres dossiers sont par défaut "Prioritaires". La mise en place d’un remplacement affecte les futurs messages arrivant dans la boîte de réception ; le remplacement ne modifie pas la propriété InferenceClassification dans les messages existants dans tout dossier, y compris dans la boîte de réception.
Formation du système de classement des messages
Utiliser des remplacements pour classer les messages par expéditeur de façon cohérente
- Créer un remplacement pour un expéditeur
- Obtenir tous les remplacements utilisateurs
- Mise à jour d’un remplacement pour un expéditeur
- Supprimer un remplacement d’expéditeur
Mettre à jour la classification des messages
Étendue minimale requise
Un des éléments suivants :
Changez la propriété InferenceClassification du message spécifié. Si le message est dans la boîte de réception, l’utilisateur verra ce message sous l’onglet Focused
ou Other
correspondant. Ce type de correction entraîne également le système de classification des messages pour personnaliser la future classification pour l’utilisateur spécifié.
PATCH https://outlook.office.com/api/beta/me/messages('{message_id}')
PATCH https://outlook.office.com/api/beta/Users('{user_id}')/messages('{message_id}')
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du brouillon de message à envoyer. |
user_id | string | Adresse de messagerie de l’utilisateur. |
Type de réponse
Le message mis à jour.
Exemple de demande
Cet exemple change la propriété InferenceClassification en Other
pour le message spécifié de l’utilisateur connecté.
PATCH https://outlook.office.com/api/beta/me/messages('AAMkADA1MTQBAAA=')
{
"InferenceClassification": "Other"
}
Exemple de réponse
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/beta/$metadata#Me/Messages/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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/beta/me/InferenceClassification/Overrides
POST https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
user_id | string | 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à.
Exemple de demande
POST https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
{
"ClassifyAs": "Focused",
"SenderEmailAddress": {
"Name": "Fanny Downs",
"Address": "fannyd@adatum.onmicrosoft.com"
}
}
Exemple de réponse
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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/beta/me/InferenceClassification/Overrides
GET https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
user_id | string | 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.
Exemple de demande
GET https://outlook.office.com/api/beta/me/InferenceClassification/Overrides
Exemple de réponse
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/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/beta/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/beta/me/InferenceClassification/Overrides('{override_id}')
PATCH https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
override_id | string | L’ID du remplacement à mettre à jour. |
user_id | string | Adresse de messagerie de l’utilisateur. |
Type de réponse
L’instance InferenceClassificationOverride mise à jour.
Exemple de demande
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, modifié de Other
en Focused
.
PATCH https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
{
"ClassifyAs": "Focused"
}
Exemple de réponse
Status code: 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/InferenceClassification/Overrides/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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/beta/me/InferenceClassification/Overrides('{override_id}')
DELETE https://outlook.office.com/api/beta/Users('{user_id}')/InferenceClassification/Overrides('{override_id}')
Paramètre | Type | Description |
---|---|---|
Paramètres d'URL | ||
override_id | string | L’ID du brouillon de message à envoyer. |
user_id | string | Adresse de messagerie de l’utilisateur. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/InferenceClassification/Overrides('98f5bdef-576a-404d-a2ea-07a3cf34af4r')
Exemple de réponse
Status code: 204 No Content
Gérer les @-Mentions (préversion)
Interpeller un destinataire pour attirer son attention dans un message est un geste social commun. La ressource Mention fournit un mécanisme léger pour notifier un autre destinataire, ou pour obtenir une notification d’un expéditeur dans un message.
Via son interface utilisateur, une application peut permettre à un utilisateur d’insérer une mention dans un message en faisant précéder la mention par @
(couramment utilisé pour des scénarios similaires dans d’autres applications, d’où le terme @-mention). Par programmation, l’application peut créer la mention en l’ajoutant à la propriété Mentions dans le même appel POST
pour créer le message.
L’application peut laisser les utilisateurs chercher s’ils ont été notifiés dans les messages de leur boîte de réception. Les utilisateurs peuvent trouver les détails de chaque mention dans un message. Ils peuvent aussi effacer une mention dans un message.
Créer des mentions dans un nouveau message
- Créer et envoyer des mentions dans le cadre d’un nouveau message
- Créer des mentions dans le cadre d’un brouillon de message
Obtenir des informations sur les mentions dans le message
- Récupérer tous les messages mentionnant l’utilisateur connecté
- Obtenez les détails de chaque mention dans un message
Supprimer une mention dans un message
Créer et envoyer des mentions dans le cadre d’un nouveau message
Étendue minimale requise
Un des éléments suivants :
Créez et envoyez un message fourni dans le corps de la requête qui comprend une collection d'une ou plusieurs instances Mention.
Cela utilise la même action SendMail disponible dans la ressource Message ; en outre, vous incluez la propriété Mentions propriété comme partie du paramètre de corps du Message.
POST https://outlook.office.com/api/beta/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. Nécessaire seulement si faux. |
Spécifiez le paramètre Message avec la propriété ToRecipients requise, la propriété Mentions et toute propriété message modifiable dans le corps de la requête.
Et, pour chaque mention dans la propriété Mentions, vous devez spécifier les propriétés Mentioned et CreatedBy.
Exemple de demande
POST https://outlook.office.com/api/beta/me/sendmail
Content-Type: application/json
{
"Message": {
"Subject": "Project kickoff",
"ToRecipients":[
{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
}
],
"Mentions":[
{
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com"
},
"CreatedBy": {
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
}
]
}
}
Exemple de réponse
Status code: 202 Accepted
Créer des mentions dans le cadre d’un brouillon de message
Étendue minimale requise
Un des éléments suivants :
Créez le brouillon d’un nouveau message qui comprend une collection d’une ou plusieurs instances de Mention. Vous pouvez créer le brouillon dans n’importe quel dossier et éventuellement lemettre à jour avant l’envoi.
Cela utilise la même méthode POST disponible dans la ressourceMessage ; de plus, vous incluez sa propriété Mentions dans le corps de la requête.
POST https://outlook.office.com/api/beta/me/messages
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier de destination, ou les noms de dossier bien connus Inbox ou Drafts . |
Spécifie la propriété Mentions et toute propriété message modifiable dans le corps de la requête.
Et, pour chaque mention dans la propriété Mentions, vous devez spécifier les propriétés Mentioned et CreatedBy.
Type de réponse
Le brouillon de message.
Exemple de demande
POST https://outlook.office.com/api/beta/me/messages
Content-Type: application/json
{
"Subject": "Party planning",
"ToRecipients":[
{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
}
],
"Mentions":[
{
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com"
},
"CreatedBy": {
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
}
]
}
Exemple de réponse
Ce qui suit montre le brouillon de message créé.
Notes
L’objet de réponse indiqué ici est tronqué à des fins de concision. Toutes les propriétés sont renvoyées à partir d’un appel réel.
Status code: 201 Created
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAbYj7\"",
"Id":"AQMkADJmMTUAAAW1fsAAAAA==",
"Body":{
"ContentType":"Text",
"Content":""
},
"BodyPreview":"",
"Sender":null,
"From":null,
"ToRecipients":[
{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
}
],
"MentionsPreview":{
"IsMentioned":false
},
"Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAW1fsAAAAA%3D%3D')/Mentions",
"Mentions":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAW1fsAAAAA==')/Mentions('4577bba4-b063-4cea-9073-6f7ca815fcec')",
"Id":"4577bba4-b063-4cea-9073-6f7ca815fcec",
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com",
"ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
},
"MentionText":null,
"ClientReference":null,
"CreatedBy":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"CreatedDateTime":"2016-07-22T02:22:44Z",
"ServerCreatedDateTime":"2016-07-22T02:22:44.201Z",
"DeepLink":null,
"Application":null
}
]
}
Récupérer tous les messages mentionnant l’utilisateur connecté
Étendue minimale requise
Un des éléments suivants :
Récupère tous les messages dans la boîte aux lettres de l’utilisateur connecté ou dans le dossier spécifié, qui contient une Mention de cet utilisateur.
Cela utilise la même méthode GET disponible sur la ressource Message ; de plus, vous incluez un paramètre de requête $filter
sur la propriété MentionsPreview.
Par défaut, un appel GET /me/messages
ne renvoie pas la propriété Mentions. Utilisez le paramètre de requête $expand
pour trouver le détail de chaque mention dans un message.
Notes
Assurez-vous que votre appel réel code les caractères d’espace dans la chaîne de paramètre de requête de manière appropriée.
GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned eq true
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/messages?$filter=MentionsPreview/IsMentioned eq true
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier de destination, ou les noms de dossier bien connus Inbox ou Drafts . |
Type de réponse
La collection de messages demandée.
Exemple de demande
L’exemple ci-dessous filtre tous les messages dans la boîte aux lettres de l’utilisateur connecté pour trouver ceux qui mentionnent l’utilisateur. Il utilise $select
pour renvoyer un sous-ensemble des propriétés de chaque message dans la réponse. Il incorpore également le codage d’URL pour les caractères d’espace dans la chaîne de paramètre de requête.
GET https://outlook.office.com/api/beta/me/messages?$filter=MentionsPreview/IsMentioned%20eq%20true&$select=Subject,Sender,ReceivedDateTime,MentionsPreview
Exemple de réponse
La réponse contient 2 messages qui mentionnent l’utilisateur connecté.
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages(Subject,Sender,ReceivedDateTime,MentionsPreview)",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
"Id":"AQMkADJmMTUAAAgVZAAAA",
"ReceivedDateTime":"2016-07-21T07:40:21Z",
"Subject":"Re: Start planning soon",
"Sender":{
"EmailAddress":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
},
"MentionsPreview":{
"IsMentioned":true
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAjwVAAAA')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAEGj\"",
"Id":"AQMkADJmMTUAAAjwVAAAA",
"ReceivedDateTime":"2016-07-21T07:40:20Z",
"Subject":"Re: Start planning soon",
"Sender":{
"EmailAddress":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
},
"MentionsPreview":{
"IsMentioned":true
}
}
]
}
Obtenez les détails de chaque mention dans un message
Étendue minimale requise
Un des éléments suivants :
Obtenez un message avec les détails de chaque Mention dans le message étendu.
Cela utilise la même méthode GET disponible sur la ressource Message ; de plus, vous incluez un paramètre de requête $expand
sur la propriété de navigation Mentions.
GET https://outlook.office.com/api/beta/me/messages('{message_id}')?$expand=Mentions
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’identifiant du message demandé. |
Type de réponse
Le message demandé.
Exemple de demande
Dans l’exemple suivant, l’utilisatrice connectée est Dana Swope. L’exemple montre comment obtenir les détails de toutes les mentions dans le message spécifié dans la boîte aux lettres de Dana.
GET https://outlook.office.com/api/beta/me/messages('AQMkADJmMTUAAAgVZAAAA')?$expand=Mentions
Exemple de réponse
Ce qui suit montre le message demandé, incluant les détails de chaque mention dans la propriété Mentions. Ce message comprend 2 mentions, une pour l’utilisatrice Dana et l’autre pour Randi Welch.
Notes
L'objet de réponse présenté ici est tronqué à des fins concision pour se concentrer sur les propriétés liées à la prise en charge de la Mention.
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')",
"@odata.etag":"W/\"CQAAABYAAAAPFhK2FclcRbABBJhCde8iAAAAAATI\"",
"Id":"AQMkADJmMTUAAAgVZAAAA",
"Subject":"Start planning soon",
"Body":{
"ContentType":"HTML",
"Content":"<html><head></head><body"><p><a href=\"mailto:danas@contoso.onmicrosoft.com\">@Dana Swope</a>,<a href=\"mailto:randiw@contoso.onmicrosoft.com\">@Randi Welch</a>, forgot to mention, I will be away this weekend. I can start on Monday though.</p></body></html>"
},
"BodyPreview":"@Dana Swope<mailto:danas@contoso.onmicrosoft.com>, @Randi Welch, forgot to mention, I will be away this weekend. I can start on Monday though.",
"Sender":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"From":{
"EmailAddress":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com"
}
},
"ToRecipients":[
{
"EmailAddress":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com"
}
},
{
"EmailAddress":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com"
}
}
],
"CcRecipients":[
],
"BccRecipients":[
],
"MentionsPreview":{
"IsMentioned":true
},
"Mentions@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions",
"Mentions":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('138f4c0a-1130-4776-b780-bf79d73abb3f')",
"Id":"138f4c0a-1130-4776-b780-bf79d73abb3f",
"Mentioned":{
"Name":"Dana Swope",
"Address":"danas@contoso.onmicrosoft.com",
"ExternalId":"72137a84-1a8b-4b92-aa06-cca538e8616b"
},
"MentionText":null,
"ClientReference":null,
"CreatedBy":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"CreatedDateTime":"2016-07-21T07:40:20.152Z",
"ServerCreatedDateTime":"2016-07-21T07:40:20.152Z",
"DeepLink":null,
"Application":null
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('266efe5a-0fd7-4edd-877b-b2d1e561f193@ae01a323-3934-4475-a32d-af1274312bb0')/Messages('AQMkADJmMTUAAAgVZAAAA')/Mentions('7b94df1a-0086-482a-b0da-e62fae12f983')",
"Id":"7b94df1a-0086-482a-b0da-e62fae12f983",
"Mentioned":{
"Name":"Randi Welch",
"Address":"randiw@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"MentionText":null,
"ClientReference":null,
"CreatedBy":{
"Name":"Fanny Downs",
"Address":"fannyd@contoso.onmicrosoft.com",
"ExternalId":"266efe5a-0fd7-4edd-877b-b2d1e561f193"
},
"CreatedDateTime":"2016-07-21T07:40:20.158Z",
"ServerCreatedDateTime":"2016-07-21T07:40:20.158Z",
"DeepLink":null,
"Application":null
}
]
}
Supprimer une mention
Étendue minimale requise
Un des éléments suivants :
Supprime la mention spécifiée dans le message spécifié dans la boîte aux lettres de l’utilisateur connecté.
DELETE https://outlook.office.com/api/beta/me/messages('{message_id}')/mentions('{mention_id}')
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
mention_id | string | L’ID de la mention à supprimer. |
message_id | string | L’identifiant du message qui contient la mention. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/mentions('7b94df1a-0086-482a-b0da-e62fae12f983')
Exemple de réponse
Status code: 204 No Content
Gérer les règles (préversion)
Dans Outlook, vous pouvez configurer des règles pour les messages entrants dans la boîte de réception afin d’exécuter des actions spécifiques si certaines conditions sont réunies.
Par programmation, vous pouvez accéder aux règles via la propriété de navigation MessageRules du dossier de boîte de réception. Chaque règle est représentée par la ressource MessageRule, les actions de règle disponibles sont représentées par le type complexe MessageRuleActions, et les conditions de règle disponibles ainsi que les exceptions sont représentées par le type complexe MessageRulePredicates.
Créer des règles (préversion)
Étendue minimale requise
Créez une règle en spécifiant un ensemble de conditions et d’actions. Outlook effectue ces actions si un message entrant dans la boîte de réception de l’utilisateur remplit les conditions spécifiées.
POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Voici les paramètres de corps généralement utilisés lors de la création de règles. Vous pouvez spécifier toute autre propriété modifiable MessageRule appropriée dans le corps de la requête.
Paramètres de corps | Type | Description |
---|---|---|
Actions | MessageRuleActions | Actions à effectuer sur un message lorsque les conditions correspondantes, le cas échéant, sont remplies. Obligatoire. |
Conditions | MessageRulePredicates | Conditions qui, lorsqu’elles sont remplies, déclenchent les actions correspondantes pour cette règle. Facultatif. |
Afficher un nom | Chaîne | Nom d’affichage de la règle. Obligatoire. |
Exceptions | MessageRulePredicates | Représente les conditions d’exception de la règle. Facultatif. |
IsEnabled | Booléen | Indique si la règle peut être appliquée aux messages. Facultatif. |
Sequence | Int32 | Indique l’ordre dans lequel la règle est exécutée, parmi d’autres règles. Obligatoire. |
Exemple de demande
La règle suivante transfère un message entrant à Alex Wilbur si le nom de l’expéditeur inclut le terme "adele".
POST https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Content-Type: application/json
{
"DisplayName": "From partner",
"Sequence": 2,
"IsEnabled": true,
"Conditions": {
"SenderContains": [
"adele"
]
},
"Actions": {
"ForwardTo": [
{
"EmailAddress": {
"Name": "Alex Wilbur",
"Address": "AlexW@MOD154847.onmicrosoft.com"
}
}
],
"StopProcessingRules": true
}
}
Exemple de réponse
Status code: 201 Created
{
"Id":"AQAAAJ5dZqA=",
"DisplayName":"From partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"StopProcessingRules":true,
"ForwardTo":[
{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@MOD154847.onmicrosoft.com"
}
}
]
}
}
Obtenir des règles (préversion)
Étendue minimale requise
Vous pouvez obtenir toutes les règles définies pour la boîte de réception de l’utilisateur ou obtenir une règle spécifique en spécifiant son ID.
Obtenez toutes les règles pour une boîte de réception
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Exemple de demande
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules
Exemple de réponse
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules",
"value":[
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZp8=')",
"Id":"AQAAAJ5dZp8=",
"DisplayName":"Remove spam",
"Sequence":1,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SubjectContains":[
"enter to win"
]
},
"Actions":{
"Delete":true,
"StopProcessingRules":true
}
},
{
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
"Id":"AQAAAJ5dZqA=",
"DisplayName":"From partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"StopProcessingRules":true,
"ForwardTo":[
{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@MOD154847.onmicrosoft.com"
}
}
]
}
}
]
}
Obtenir une règle spécifique
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Paramètres d'URL | Type | Description |
---|---|---|
rule_id | Chaîne | L’identifiant de la règle à obtenir. |
Exemple de demande
GET https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Exemple de réponse
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/MessageRules/$entity",
"@odata.id":"https://outlook.office.com/api/beta/Users('94447c6e-ea4c-494c-a9ed-d905e366c5cb@007e925e-fb5a-4f60-9cb6-58a21e692480')/MailFolders('inbox')/MessageRules('AQAAAJ5dZqA=')",
"Id":"AQAAAJ5dZqA=",
"DisplayName":"From partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"StopProcessingRules":true,
"ForwardTo":[
{
"EmailAddress":{
"Name":"Alex Wilbur",
"Address":"AlexW@MOD154847.onmicrosoft.com"
}
}
]
}
}
Mettre à jour des règles (préversion)
Étendue minimale requise
Modifiez les propriétés modifiables d’un message et enregistrez les modifications.
PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Paramètres d'URL | Type | Description |
---|---|---|
rule_id | Chaîne | L’ID de la règle à mettre à jour. |
Exemple de demande
L’exemple suivant modifie le nom de la règle, et les actions à effectuer pour cette règle dans le dernier exemple, du transfert vers une adresse au marquage de son importance comme élevée.
PATCH https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZqA=')
Content-Type: application/json
{
"DisplayName": "Important from partner",
"Actions": {
"MarkImportance": "High"
}
}
Exemple de réponse
Status code: 200 OK
{
"Id":"AQAAAJ5dZqA=",
"DisplayName":"Important from partner",
"Sequence":2,
"IsEnabled":true,
"HasError":false,
"IsReadOnly":false,
"Conditions":{
"SenderContains":[
"ADELE"
]
},
"Actions":{
"MarkImportance": "High"
}
}
Supprimer des règles (préversion)
Étendue minimale requise
Supprimez la règle spécifiée.
DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('{rule_id}')
Paramètres d'URL | Type | Description |
---|---|---|
rule_id | Chaîne | L’ID de la règle à supprimer. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/mailfolders/inbox/messagerules('AQAAAJ5dZp8=')
Exemple de réponse
Status code: 204 No Content
Se désabonner (préversion)
Étendue minimale requise
Un des éléments suivants :
Envoie une demande d’e-mail au nom de l’utilisateur connecté pour se désabonner d’une liste de distribution d’e-mail. Utilise l’information dans l’en-tête List-Unsubscribe
.
POST https://outlook.office.com/api/beta/me/messages('{message_id}')/unsubscribe
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du brouillon de message à envoyer. |
Les expéditeurs de messages peuvent utiliser les listes de diffusion de manière conviviale en incluant l’option permettant aux destinataires de se désabonner. Ils peuvent le faire en spécifiant un en-tête List-Unsubscribe
dans chaque message selon le RFC-2369.
Notes
En particulier, pour que l’action Se désinscrire fonctionne, l’expéditeur doit spécifier mailto:
et non des informations de désabonnement basées sur des URL.
La définition de cet en-tête donnerait également à la propriété UnsubscribeEnabled de l’instance Message la valeur true
, et la propriété UnsubscribeData aux données de l’en-tête.
Si la propriété UnsubscribeEnabled d’un message est true
, vous pouvez utiliser l’action Unsubscribe pour désabonner l’utilisateur de futurs messages similaires gérés par l’expéditeur du message.
Une action Unsubscribe réussie déplace le message dans le dossier Éléments supprimés. L’exclusion réelle de l’utilisateur de la future distribution de courrier est gérée par l’expéditeur.
Exemple de demande
POST https://outlook.office.com/api/beta/me/messages('AAMkADA1MTk1ZAAAKXBQCAAA=')/unsubscribe
Exemple de réponse
Status code: 202 Accepted
Obtenez des choix de langue (préversion)
Étendue minimale requise
Un des éléments suivants :
Obtenez la liste des langues et des paramètres régionaux pris en charge pour l’utilisateur, comme configuré sur le serveur de boîte aux lettres de l’utilisateur.
La langue préférée de l’utilisateur est sélectionnée dans cette liste prise en charge. Par la suite, vous pouvez obtenir la langue par défaut en obtenant les paramètres de boîte de réception de l’utilisateur.
GET https://outlook.office.com/api/beta/me/SupportedLanguages
Type de réponse
Collection de LocaleInfo.
Exemple de demande
GET https://outlook.office.com/api/beta/me/SupportedLanguages
Exemple de réponse
L’exemple de réponse ci-dessous est tronqué par souci de concision pour se concentrer sur le format JSON de la réponse.
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.LocaleInfo)",
"value":[
{
"Locale":"af-ZA",
"DisplayName":"Afrikaans (Suid-Afrika)"
},
{
"Locale":"en-US",
"DisplayName":"English (United States)"
},
{
"Locale":"en-CA",
"DisplayName":"English (Canada)"
}
]
}
Obtenez les choix de fuseau horaire (préversion)
Étendue minimale requise
Un des éléments suivants :
Obtenez la liste des fuseaux horaires pris en charge pour l’utilisateur, comme configuré sur le serveur de boîte aux lettres de l’utilisateur.
Vous pouvez spécifier que les fuseaux horaires doivent être renvoyés au format de fuseau horaire Windows ou au format IANA (Internet Assigned Numbers Authority), également appelé fuseau horaire Olson. Si vous ne spécifiez pas de format, les fuseaux horaires sont renvoyés dans le format de fuseau horaire Windows.
Le fuseau horaire préféré de l’utilisateur est sélectionnée dans cette liste prise en charge. Vous pouvez obtenir le fuseau horaire préféré en obtenant les paramètres de boîte de réception de l’utilisateur.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='{timezone_format}')
Paramètre facultatif | Type | Description |
---|---|---|
Paramètres d'URL | ||
timezone_format | TimeZoneStandard | Format de fuseau horaire. Les valeurs prises en charge sont : Windows et Iana . |
Type de réponse
Collection de TimeZoneInformation.
Exemple de demande
L’exemple suivant obtient la liste des fuseaux horaires pris en charge pour l’utilisateur connecté au format Windows.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Windows')
Exemple de réponse
L’exemple de réponse ci-dessous est tronqué par souci de concision pour se concentrer sur le format JSON de la réponse.
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
"value":[
{
"Alias":"Dateline Standard Time",
"DisplayName":"(UTC-12:00) International Date Line West"
},
{
"Alias":"Samoa Standard Time",
"DisplayName":"(UTC+13:00) Samoa"
},
{
"Alias":"UTC-11",
"DisplayName":"(UTC-11:00) Coordinated Universal Time-11"
},
{
"Alias":"Aleutian Standard Time",
"DisplayName":"(UTC-10:00) Aleutian Islands"
}
]
}
Exemple de demande
L’exemple suivant obtient la liste des fuseaux horaires pris en charge au format IANA.
GET https://outlook.office.com/api/beta/me/SupportedTimeZones(TimeZoneStandard='Iana')
Exemple de réponse
L’exemple de réponse ci-dessous est tronqué par souci de concision pour se concentrer sur le format JSON de la réponse.
Status code: 200
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.TimeZoneInformation)",
"value":[
{
"Alias":"Etc/GMT+12",
"DisplayName":"Etc/GMT+12"
},
{
"Alias":"US/Samoa",
"DisplayName":"US/Samoa"
},
{
"Alias":"Etc/GMT+11",
"DisplayName":"Etc/GMT+11"
},
{
"Alias":"US/Aleutian",
"DisplayName":"US/Aleutian"
}
]
}
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. 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.
La langue et le fuseau horaire préférés de l’utilisateur font partie des choix avec lesquels le serveur de boîte aux lettres a été configuré. Vous pouvez obtenir les listes des langues prises en charge et des fuseaux horaires pris en charge pour l’utilisateur.
GET https://outlook.office.com/api/beta/me/MailboxSettings
Type de réponse
Pour obtenir uniquement le paramètre de langue préféré parmi tous les paramètres de boîte aux lettres :
GET https://outlook.office.com/api/beta/me/MailboxSettings/Language
Type de réponse
Pour obtenir uniquement le paramètre de fuseau horaire préféré parmi tous les paramètres de boîte aux lettres :
GET https://outlook.office.com/api/beta/me/MailboxSettings/TimeZone
Type de réponse
Chaîne représentant le fuseau horaire préféré au format de fuseau horaire Windows.
Vous pouvez aussi obtenir spécifiquement les paramètres de réponse automatique.
Exemple de demande
L’exemple suivant obtient tous les paramètres de boîte aux lettres pour l’utilisateur connecté.
GET https://outlook.office.com/api/beta/me/MailboxSettings
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/MailboxSettings/AutomaticRepliesSetting
Type de réponse
Exemple de demande
GET https://outlook.office.com/api/beta/me/MailboxSettings/AutomaticRepliesSetting
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/MailboxSettings
Type de réponse
Exemple de demande
Suivant l’exemple précédent montrant comment obtenir les paramètres de réponses automatiques, l’exemple suivant change le Status de AlwaysEnabled
en Scheduled
et les dates de début et de fin à une plage de dates différente.
PATCH https://outlook.office.com/api/beta/me/MailboxSettings
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/beta/$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"
}
}
}
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$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)
Étendue minimale requise
Un des éléments suivants :
Obtenez les infos-courrier d’un ou de plusieurs destinataires disponibles pour l’utilisateur connecté. Notez que ceci est effectué comme une opération POST pour une action GetMailTips.
POST https://outlook.office.com/api/beta/me/GetMailTips
Paramètre requis | Type | Description |
---|---|---|
Paramètres de corps | ||
EmailAddresses | Collection(Chaîne) | Une collection d’adresses SMTP de destinataires pour lesquels obtenir des infos-courriers. |
MailTipsOptions | MailTipsType | Les types d'infos-courriers à obtenir pour les destinataires spécifiés. |
Type de réponse
Collection de MailTips.
Exemple de demande
L’exemple suivant obtient des infos-courrier pour les destinataires spécifiés, pour tous les paramètres de réponse automatique et l’état complet de la boîte aux lettres.
POST https://outlook.office.com/api/beta/me/GetMailTips
Content-Type: application/json
{
"EmailAddresses": [
"danas@contoso.onmicrosoft.com",
"fannyd@contoso.onmicrosoft.com"
],
"MailTipsOptions": "AutomaticReplies, MailboxFullStatus"
}
Exemple de réponse
Status code: 200 OK
{
"@odata.context":"https://outlook.office.com/api/beta/$metadata#Collection(Microsoft.OutlookServices.MailTips)",
"value":[
{
"EmailAddress":{
"Name":"",
"Address":"danas@contoso.onmicrosoft.com"
},
"AutomaticReplies":{
"Message":"<style type=\"text/css\" style=\"\">\r\n<!--\r\np\r\n\t{margin-top:0;\r\n\tmargin-bottom:0}\r\n-->\r\n</style>\r\n<div dir=\"ltr\">\r\n<div id=\"x_divtagdefaultwrapper\" style=\"font-size:12pt; color:#000000; background-color:#FFFFFF; font-family:Calibri,Arial,Helvetica,sans-serif\">\r\n<p>Hi, I am on vacation right now. I'll get back to you after I return.<br>\r\n</p>\r\n</div>\r\n</div>",
"MessageLanguage":{
"Locale":"en-US",
"DisplayName":"English (United States)"
}
},
"MailboxFull":false
},
{
"EmailAddress":{
"Name":"",
"Address":"fannyd@contoso.onmicrosoft.com"
},
"AutomaticReplies":{
"Message":""
},
"MailboxFull":false
}
]
}
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/beta/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | 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, ItemAttachment, ou ReferenceAttachment.
Exemples 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
.
Exemple de demande
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments?$select=Name
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments(Name)",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/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/beta/me/messages('AAMkADFiNTPAAA=')/attachments
Content-Type: application/json
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkADFiNTPAAA%3D')/Attachments",
"value": [
{
"@odata.type": "#Microsoft.OutlookServices.ItemAttachment",
"@odata.id": "https://outlook.office.com/api/beta/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/beta/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 | string | L’ID du message. |
attachment_id | string | 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, l’élément joint, ou la référence jointe demandés.
Exemple de requête (fichier joint)
L’exemple suivant obtient le fichier joint à un message spécifique.
GET https://outlook.office.com/api/beta/me/messages/AAMkAGI2THVSAAA=/attachments/AAMkAGI2j4kShdM=
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/Messages('AAMkAGI2THVSAAA%3D')/Attachments/$entity",
"@odata.type": "#Microsoft.OutlookServices.FileAttachment",
"@odata.id": "https://outlook.office.com/api/beta/Users('ddfcd489-628b-40d7-b48b-57002df800e5@1717622f-1d94-4d0c-9d74-709fad664b77')/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/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAPSg72tgf7hJp0PICVGCc0g=
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/?$expand=attachments
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$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/beta/me/messages/AAMkAGE1Mbs88AADUv0uFAAA=/attachments/AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=$expand=Microsoft.OutlookServices.ItemAttachment/Item
Exemple de réponse
Status code: 200
{
"Id": "AAMkAGE1Mbs88AADUv0uFAAABEgAQAL53d0u3BKBJmCxKVxZKBZ8=",
"LastModifiedDateTime": "2017-04-25T20:05:55Z",
"Name": "RE: Changes to GetConditionMetadata handler",
"ContentType": null,
"Size": 78927,
"IsInline": false,
"Item": {
"Id": "",
"Name": "How to retrieve item attachment using Outlook REST API",
"ContentType": message/rfc822,
"Size": 71094,
"IsInline": false,
"LastModifiedDateTime": "2015-09-24T05:57:59Z",
}
}
Créer des pièces jointes
Vous pouvez créer un fichier joint ou créer une pièce jointe 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/beta/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message. |
Paramètres de corps | ||
@odata.type | string | #Microsoft.OutlookServices.FileAttachment |
Nom | string | 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 un élément joint à un message.
POST https://outlook.office.com/api/beta/me/messages/{message_id}/attachments
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message. |
Paramètres de corps | ||
@odata.type | string | #Microsoft.OutlookServices.ItemAttachment |
Nom | string | 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 d’élément joint 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 référence jointe à un message.
POST https://outlook.office.com/api/beta/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.
Exemple de demande
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/beta/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"
}
Exemple de réponse
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$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 demande
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/beta/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"
}
]
}
Exemple de réponse
Status code: 201 Created
{
"@odata.context": "https://outlook.office.com/api/beta/$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/beta/$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, un élément joint, ou une référence jointe.
DELETE https://outlook.office.com/api/beta/me/messages/{message_id}/attachments/{attachment_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
message_id | string | L’ID du message. |
attachment_id | string | ID de la pièce jointe. |
Exemple de demande
DELETE https://outlook.office.com/api/beta/me/messages/AAMkAGE0Mz8S-AAA=/attachments/AAMkAGE0Mg67gL7o=
Exemple de réponse
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 :
Récupérez tous les dossiers de courrier dans la boîte aux lettres de l’utilisateur connecté (.../me/MailFolders
) ou récupérez la collection de dossiers dans le dossier spécifié.
GET https://outlook.office.com/api/beta/me/MailFolders
GET https://outlook.office.com/api/beta/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 | string | L’ID de dossier ou les noms de dossier connus Inbox , Drafts , SentItems ou DeletedItems , si vous recevez des messages depuis dossier spécifique. |
Exemple de demande
GET https://outlook.office.com/api/beta/me/MailFolders
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders",
"value": [
{
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "deleteditems"
},
{
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "drafts"
},
{
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "inbox"
},
{
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "junkemail"
},
{
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "outbox"
},
{
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "sentitems"
}
]
}
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.
Obtenez le dossier de l’utilisateur connecté :
GET https://outlook.office.com/api/beta/me/MailFolders/{folder_id}
Obtenez un dossier de boîte aux lettres partagé par un utilisateur :
GET https://outlook.office.com/api/beta/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 | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Exemple de demande
Obtenir la boîte de réception de l’utilisateur connecté
GET https://outlook.office.com/api/beta/me/MailFolders/inbox
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": "inbox"
}
Exemple de demande
Obtenir un dossier partagé par un autre utilisateur
GET https://outlook.office.com/api/beta/users/8c14ebe1-e4ba-4232cd011db47/mailFolders/AAMkADk0MGFkODE3LWE4MmYtNDRhOS04OGQxLTM
Exemple de réponse
HTTP/1.1 200 OK
{
"@odata.context": "https://outlook.office.com/api/beta/$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/beta/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 | string | 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/beta/me/MailFolders/{folder_id}/childfolders
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
Afficher un nom | string | Nom d’affichage du dossier. |
Exemple de demande
POST https://outlook.office.com/api/beta/me/MailFolders/inbox/childfolders
Content-Type: application/json
{
"DisplayName": "Company"
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders('inbox')/ChildFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": ""
}
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/beta/me/MailFolders/{folder_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
Afficher un nom | string | Le nouveau nom d’affichage du dossier. |
Exemple de demande
PATCH https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=
Content-Type: application/json
{
"DisplayName": "Business"
}
Exemple de réponse
Status code: 200
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": ""
}
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/beta/me/MailFolders/{folder_id}
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Exemple de demande
DELETE https://outlook.office.com/api/BETA/me/MailFolders/AAMkAGE0Mz-l_AAA=
Exemple de réponse
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/beta/me/MailFolders/{folder_id}/move
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
DestinationId | string | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/move
Content-Type: application/json
{
"DestinationId": "AAMkAGE0MyxQ9AAA="
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": ""
}
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.
POST https://outlook.office.com/api/beta/me/MailFolders/{folder_id}/copy
Paramètre requis | Type | Description |
---|---|---|
Paramètres d'URL | ||
folder_id | string | L’ID du dossier, ou les noms de dossier bien connus Inbox , Drafts , SentItems ou DeletedItems . |
Paramètres de corps | ||
DestinationId | string | ID de dossier de destination, ou nom de dossier connu Inbox , Drafts , SentItems ou DeletedItems . |
Exemple de demande
POST https://outlook.office.com/api/beta/me/MailFolders/AAMkAGE0Mz-l_AAA=/copy
Content-Type: application/json
{
"DestinationId": "inbox"
}
Exemple de réponse
Status code: 201
{
"@odata.context": "https://outlook.office.com/api/beta/$metadata#Me/MailFolders/$entity",
"@odata.id": "https://outlook.office.com/api/beta/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,
"WellKnownName": ""
}
Type de réponse
La nouvelle copie du dossier.
Étapes suivantes
Que vous soyez prêt à commencer à créer une application ou que vous souhaitiez simplement en apprendre plus, nous avons ce qu’il vous faut.
- Premiers pas avec les API REST Courrier, Calendrier et Contacts.
- Voulez-vous des exemples ? Nous en avons.
Ou, pour en savoir plus sur l’utilisation de la plateforme Office 365 :
- API REST d’Outlook sur le Centre de développement Outlook
- Vue d’ensemble du processus de développement sur la plateforme Office 365
- Authentification d'application et autorisation de ressources Office 365
- Enregistrez manuellement votre application dans Azure AD pour qu’elle puisse accéder aux API Office 365
- Référence de l’API Calendrier
- Référence de l’API Contacts
- API REST Tâche (préversion)
- API OneDrive
- Référence des opérations de l’API REST Service de découverte
- Référence de ressource pour les API REST Courrier, Calendrier, Contacts et Tâches