Работа с Graph API для обработки некоторых требований, связанных с почтой, и нет никакой согласованности между структурами данных.
HTTP GET / me / messages / {id}
возвращает плоский объект сообщения с верхом Свойства уровня.
{
"id":"AAMkADhMGAAA=",
"createdDateTime":"2018-09-09T03:15:05Z",
"lastModifiedDateTime":"2018-09-09T03:15:08Z",
"receivedDateTime":"2018-09-09T03:15:08Z",
"sentDateTime":"2018-09-09T03:15:06Z",
"hasAttachments":false,
"subject":"9/9/2018: concert",
"importance":"normal",
"body":{
"contentType":"html",
"content":"<html>\r\n<head>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n<meta content=\"text/html; charset=us-ascii\">\r\n</head>\r\n<body>\r\nThe group represents Nevada.\r\n</body>\r\n</html>\r\n"
},
"sender":{
"emailAddress":{
"name":"Adele Vance",
"address":"adelev@contoso.OnMicrosoft.com"
}
},
"from":{
"emailAddress":{
"name":"Adele Vance",
"address":"adelev@contoso.OnMicrosoft.com"
}
},
"toRecipients":[
{
"emailAddress":{
"name":"Alex Wilber",
"address":"AlexW@contoso.OnMicrosoft.com"
}
}
]
}
С другой стороны ....
POST / me / sendMail
ожидает объект, заключенный в объект сообщения.
{
"message": {
"subject": "Meet for lunch?",
"body": {
"contentType": "Text",
"content": "The new cafeteria is open."
},
"toRecipients": [
{
"emailAddress": {
"address": "fannyd@contoso.onmicrosoft.com"
}
}
],
"ccRecipients": [
{
"emailAddress": {
"address": "danas@contoso.onmicrosoft.com"
}
}
]
},
"saveToSentItems": "false"
}
Это, похоже, проблема во всем REST API.
https://docs.microsoft.com/en-us/graph/api/resources/message?view=graph-rest-1.0
Не знаете, как с этим справиться. Напишите помощника, чтобы проверить, правильно ли обернуты объекты, или начните раскручивать новые страницы, потому что возвращаемые объекты изменяются в зависимости от определенных действий.
Что еще относится к .... Конечные точки REST API Reply и Reply-All по-видимому, возвращают объекты с различной структурой.