Obtenir un message
Espace de noms: microsoft.graph
Importante
Les API sous la version /beta
dans Microsoft Graph sont susceptibles d’être modifiées. L’utilisation de ces API dans des applications de production n’est pas prise en charge. Pour déterminer si une API est disponible dans v1.0, utilisez le sélecteur Version .
Récupérez les propriétés et les relations de l’objet message .
Par exemple, vous pouvez obtenir un message et développer toutes les instances de mention dans le message. Pour obtenir un exemple, consultez Exemple 2.
Vous pouvez utiliser le paramètre $value
pour récupérer le contenu MIME d’un message. Pour obtenir un exemple, consultez Exemple 5.
Une application peut obtenir un message dans le dossier de messagerie d’un autre utilisateur sous deux conditions :
- Si l’application dispose d’autorisations d’application
- Si l’application dispose des autorisations déléguées appropriées d’un utilisateur et qu’un autre utilisateur a partagé un dossier de messagerie avec cet utilisateur, ou a accordé un accès délégué à cet utilisateur. Pour plus d’informations, voir Obtenir des messages Outlook dans un dossier partagé ou délégué.
Étant donné que la ressource de message prend en charge les extensions, vous pouvez également utiliser l’opération GET
pour obtenir des propriétés personnalisées et des données d’extension dans une instance de message .
Cette API est disponible dans les déploiements de cloud national suivants.
Service global | Gouvernement des États-Unis L4 | Us Government L5 (DOD) | Chine gérée par 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Autorisations
L’une des autorisations suivantes est nécessaire pour appeler cette API. Pour plus d’informations, notamment sur la façon de choisir les autorisations, voir Autorisations.
Type d’autorisation | Autorisations (de celle qui offre le plus de privilèges à celle qui en offre le moins) |
---|---|
Déléguée (compte professionnel ou scolaire) | Mail.ReadBasic, Mail.Read |
Déléguée (compte Microsoft personnel) | Mail.ReadBasic, Mail.Read |
Application | Mail.ReadBasic.All, Mail.Read |
Requête HTTP
Pour récupérer le message spécifié :
GET /me/messages/{id}
GET /users/{id | userPrincipalName}/messages/{id}
GET /me/mailFolders/{id}/messages/{id}
GET /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}
Pour récupérer le contenu MIME du message spécifié :
GET /me/messages/{id}/$value
GET /users/{id | userPrincipalName}/messages/{id}/$value
GET /me/mailFolders/{id}/messages/{id}/$value
GET /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}/$value
Pour obtenir un message et développer toutes les mentions dans le message :
GET /me/messages/{id}?$expand=mentions
GET /users/{id | userPrincipalName}/messages/{id}?$expand=mentions
GET /me/mailFolders/{id}/messages/{id}?$expand=mentions
GET /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}?$expand=mentions
Paramètres facultatifs de la requête
Cette méthode prend en charge les paramètres de requête OData pour vous aider à personnaliser la réponse.
Utilisez le paramètre $value
pour récupérer le contenu MIME d’un message.
Utilisez le $expand
paramètre de requête sur la propriété de navigation mentions pour obtenir un message avec les détails de chaque mention dans le message développés.
En-têtes de demande
Nom | Type | Description |
---|---|---|
Autorisation | string | Porteur {token}. Obligatoire. En savoir plus sur l’authentification et l’autorisation. |
Prefer: outlook.body-content-type | string | Format auquel les propriétés body et uniqueBody sont renvoyées. Les valeurs peuvent être au format « texte » ou « html ». Un en-tête Preference-Applied est renvoyé à titre de confirmation si l’en-tête Prefer est spécifié. Si l’en-tête n’est pas spécifié, les propriétés body et uniqueBody sont renvoyées au format HTML. Facultatif. |
Corps de la demande
N’indiquez pas le corps de la demande pour cette méthode.
Réponse
Si elle réussit, cette méthode renvoie un code de réponse 200 OK
et un objet message dans le corps de la réponse.
La spécification du paramètre $value
renvoie le contenu du message au format MIME, et non une ressource message.
範例
Exemple 1 : obtenir un message spécifique
Demande
Le premier exemple obtient le message spécifié. Il ne spécifie aucun en-tête pour indiquer le format du corps à retourner.
GET https://graph.microsoft.com/beta/me/messages/AAMkAGI1AAAoZCfHAAA=
Réponse
L’exemple suivant illustre la réponse. Les propriétés body et uniqueBody sont retournées au format HTML par défaut.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/messages/$entity",
"@odata.etag":"W/\"CQAAABYAAABmWdbhEgBXTophjCWt81m9AAAoZYj4\"",
"id":"AAMkAGI1AAAoZCfHAAA=",
"subject":"Welcome to our group!",
"bodyPreview":"Welcome to our group, Dana! Hope you will enjoy working with us !\r\n",
"body":{
"contentType":"html",
"content":"<html>\r\n<head></head><body><p>Welcome to our group, Dana! Hope you will enjoy working with us </p></body></html>\r\n"
},
"uniqueBody":{
"contentType":"html",
"content":"<html>\r\n<head></head><body><p>Welcome to our group, Dana! Hope you will enjoy working with us </p></body></html>\r\n"
}
}
Exemple 2 : Obtenir toutes les mentions dans un message spécifique
Demande
Dans l’exemple suivant, l’utilisateur connecté 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://graph.microsoft.com/beta/me/messages/AQMkADJmMTUAAAgVZAAAA/?$expand=mentions
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#me/messages/$entity",
"@odata.id":"https://graph.microsoft.com/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.com\">@Dana Swope</a>,<a href=\"mailto:randiw@contoso.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.com>, @Randi Welch, forgot to mention, I will be away this weekend. I can start on Monday though.",
"sender":{
"emailAddress":{
"name":"Samantha Booth",
"address":"samanthab@contoso.com"
}
},
"from":{
"emailAddress":{
"name":"Samantha Booth",
"address":"samanthab@contoso.com"
}
},
"toRecipients":[
{
"emailAddress":{
"name":"Dana Swope",
"address":"danas@contoso.com"
}
},
{
"emailAddress":{
"name":"Randi Welch",
"address":"randiw@contoso.com"
}
}
],
"ccRecipients":[
],
"bccRecipients":[
],
"mentionsPreview":{
"isMentioned":true
},
"mentions":[
{
"@odata.id":"https://graph.microsoft.com/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.com"
},
"mentionText":null,
"clientReference":null,
"createdBy":{
"name":"Samantha Booth",
"address":"samanthab@contoso.com"
},
"createdDateTime":"2016-07-21T07:40:20.152Z",
"serverCreatedDateTime":"2016-07-21T07:40:20.152Z",
"deepLink":null,
"application":null
},
{
"@odata.id":"https://graph.microsoft.com/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.com"
},
"mentionText":null,
"clientReference":null,
"createdBy":{
"name":"Samantha Booth",
"address":"samanthab@contoso.com"
},
"createdDateTime":"2016-07-21T07:40:20.158Z",
"serverCreatedDateTime":"2016-07-21T07:40:20.158Z",
"deepLink":null,
"application":null
}
]
}
Exemple 3 : obtenir le corps du message au format texte
Requête
Le troisième exemple montre comment utiliser un en-tête Prefer: outlook.body-content-type="text"
pour récupérer la propriété body et uniqueBody du message spécifié au format texte.
GET https://graph.microsoft.com/beta/me/messages/AAMkAGI1AAAoZCfHAAA=/?$select=subject,body,bodyPreview,uniqueBody
Prefer: outlook.body-content-type="text"
Réponse
L’exemple suivant illustre la réponse.
Note: La réponse inclut un
Preference-Applied: outlook.body-content-type
en-tête pour accuser réception de l’en-tête dePrefer: outlook.body-content-type
demande.
HTTP/1.1 200 OK
Content-type: application/json
Preference-Applied: outlook.body-content-type="text"
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('cd209b0b-3f83-4c35-82d2-d88a61820480')/messages(subject,body,bodyPreview,uniqueBody)/$entity",
"@odata.etag":"W/\"CQAAABYAAABmWdbhEgBXTophjCWt81m9AAAoZYj4\"",
"id":"AAMkAGI1AAAoZCfHAAA=",
"subject":"Welcome to our group!",
"bodyPreview":"Welcome to our group, Dana! Hope you will enjoy working with us !\r\n\r\nWould you like to choose a day for our orientation from the available times below:\r\n\r\n\r\nDate\r\n Time\r\n\r\nApril 14, 2017\r\n 1-3pm\r\n\r\nApril 21, 2017\r\n 10-12noon\r\n\r\n\r\n\r\nTh",
"body":{
"contentType":"text",
"content":"Welcome to our group, Dana! Hope you will enjoy working with us [\ud83d\ude0a] [\ud83d\ude0a] [\ud83d\ude0a] [\ud83d\ude0a] [\ud83d\ude0a] !\r\n\r\nWould you like to choose a day for our orientation from the available times below:\r\n\r\n\r\nDate\r\n Time\r\n\r\nApril 14, 2017\r\n 1-3pm\r\n\r\nApril 21, 2017\r\n 10-12noon\r\n\r\n\r\n\r\nThanks!\r\n\r\n"
},
"uniqueBody":{
"contentType":"text",
"content":"Welcome to our group, Dana! Hope you will enjoy working with us [\ud83d\ude0a] [\ud83d\ude0a] [\ud83d\ude0a] [\ud83d\ude0a] [\ud83d\ude0a] !\r\nWould you like to choose a day for our orientation from the available times below:\r\n\r\nDate\r\n Time\r\n\r\nApril 14, 2017\r\n 1-3pm\r\n\r\nApril 21, 2017\r\n 10-12noon\r\n\r\n\r\nThanks!\r\n"
}
}
Exemple 4 : Obtenir les en-têtes de message Internet
Demande
Le quatrième exemple montre comment obtenir les en-têtes de message Internet d’un message spécifique.
GET https://graph.microsoft.com/beta/me/messages/AAMkAGVmMDEz/?$select=internetMessageHeaders
Réponse
L’exemple suivant illustre la réponse.
Note: Le nombre d’en-têtes de message Internet dans l’objet de réponse a été réduit par souci de concision.
HTTP/1.1 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('48d31887-5fad-4d73-a9f5-3c356e68a038')/messages(internetMessageHeaders)/$entity",
"@odata.type":"#microsoft.graph.eventMessageRequest",
"@odata.etag":"W/\"CwAAABYAAAAiIsqMbYjsT5e/T7KzowPTAAAa/qUB\"",
"id":"AAMkAGVmMDEz",
"internetMessageHeaders":[
{
"name":"Content-Type",
"value":"application/ms-tnef"
},
{
"name":"Content-Transfer-Encoding",
"value":"binary"
},
{
"name":"Subject",
"value":"Cloud and Mobile Working Group"
},
{
"name":"x-custom-header-group-name",
"value":"Washington"
},
{
"name":"x-custom-header-group-id",
"value":"WA001"
}
]
}
Exemple 5 : Obtenir du contenu MIME
Demande
Le cinquième exemple obtient le contenu MIME d’un message dans la boîte aux lettres de l’utilisateur connecté.
GET https://graph.microsoft.com/beta/me/messages/4aade2547798441eab5188a7a2436bc1/$value
Réponse
L’exemple suivant illustre la réponse. Le contenu MIME commence par l’MIME-Version
en-tête.
HTTP/1.1 200 OK
Content-type: text/plain
Received: from contoso.com (10.194.241.197) by
contoso.com (10.194.241.197) with Microsoft
SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1374.0 via Mailbox
Transport; Mon, 4 Sep 2017 03:00:08 -0700
Received: from contoso.com (10.194.241.197) by
contoso.com (10.194.241.197) with Microsoft
SMTP Server (version=TLS1_2,
cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1374.0; Mon, 4 Sep
2017 03:00:07 -0700
Received: from contoso.com
(fe80::5bf:5059:4ca0:5017) by contoso.com
(fe80::5bf:5059:4ca0:5017%12) with mapi id 15.01.1374.000; Mon, 4 Sep 2017
03:00:01 -0700
From: Administrator <admin@contoso.com>
To: Administrator <admin@contoso.com>
Subject: This email has attachment.
Thread-Topic: This email has attachment.
Thread-Index: AQHTJWSHSywMzSz8o0OJud48nG50GQ==
Date: Mon, 4 Sep 2017 10:00:00 +0000
Message-ID:
<4aade2547798441eab5188a7a2436bc1@contoso.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 04
X-MS-Exchange-Organization-AuthSource:
contoso.com
X-MS-Has-Attach: yes
X-MS-Exchange-Organization-Network-Message-Id:
0ffdb402-ec03-42c8-5d32-08d4f37bb517
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="_004_4aade2547798441eab5188a7a2436bc1contoso_"
--_004_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: multipart/alternative;
boundary="_000_4aade2547798441eab5188a7a2436bc1contoso_"
--_000_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
The attachment is an email.
--_000_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"><!-- P {margin-top:0;margi=
n-bottom:0;} --></style>
</head>
<body dir=3D"ltr">
<div id=3D"divtagdefaultwrapper" style=3D"font-size:12pt;color:#000000;font=
-family:Calibri,Helvetica,sans-serif;" dir=3D"ltr">
<p>The attachment is an email.</p>
</div>
</body>
</html>
--_000_4aade2547798441eab5188a7a2436bc1contoso_--
--_004_4aade2547798441eab5188a7a2436bc1contoso_
Content-Type: application/octet-stream; name="Attachment email.eml"
Content-Description: Attachment email.eml
Content-Disposition: attachment; filename="Attachment email.eml"; size=408;
creation-date="Mon, 04 Sep 2017 09:59:43 GMT";
modification-date="Mon, 04 Sep 2017 09:59:43 GMT"
Content-Transfer-Encoding: base64
RnJvbToJQWRtaW5pc3RyYXRvciA8YWRtaW5AdGVuYW50LUVYSEItMTQ3MS5jb20+DQpTZW50OglN
b25kYXksIFNlcHRlbWJlciA0LCAyMDE3IDM6MjYgUE0NClRvOglTcml2YXJkaGFuIEhlYmJhcg0K
U3ViamVjdDoJQXR0YWNobWVudCBlbWFpbA0KDQpJIHdpbGwgYXR0YWNoIHRoaXMgZW1haWwgdG8g
YW5vdGhlciBtYWlsLg0K
--_004_4aade2547798441eab5188a7a2436bc1contoso_--