message: createReply
Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте черновик, чтобы ответить отправителю сообщения в формате JSON или MIME.
При использовании формата JSON:
- Укажите комментарий или свойство
message
body параметра. Если указать оба варианта, вы получите ошибку HTTP 400 Bad Request. - Если параметр replyTo указан в исходном сообщении в соответствии с форматом сообщений Интернета (RFC 2822), ответ следует отправлять получателям в replyTo, а не получателям из.
- Вы можете обновить черновик позже, чтобы добавить содержимое ответа в текст или изменить другие свойства сообщения.
При использовании формата MIME:
- Укажите соответствующие заголовки сообщений Интернета и содержимое MIME, а также закодируйте их в формате Base64 в тексте запроса.
- Добавьте все вложения и свойства S/MIME в содержимое MIME.
Отправьте черновик сообщения в ходе последующей операции.
Кроме того, можно ответить на сообщение в одной операции.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба | Правительство США L4 | Правительство США L5 (DOD) | Китай управляется 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения | Разрешения с наименьшими привилегиями | Более высокие привилегированные разрешения |
---|---|---|
Делегированные (рабочая или учебная учетная запись) | Mail.ReadWrite | Недоступно. |
Делегированные (личная учетная запись Майкрософт) | Mail.ReadWrite | Недоступно. |
Для приложений | Mail.ReadWrite | Недоступно. |
HTTP-запрос
POST /me/messages/{id}/createReply
POST /users/{id | userPrincipalName}/messages/{id}/createReply
POST /me/mailFolders/{id}/messages/{id}/createReply
POST /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}/createReply
Заголовки запросов
Имя | Тип | Описание |
---|---|---|
Authorization | string | Bearer {token}. Обязательно. Дополнительные сведения о проверке подлинности и авторизации. |
Content-Type | string | Характер данных в теле объекта. Обязательно. Используйте application/json для объекта JSON и text/plain для содержимого MIME. |
Prefer: outlook.timezone | string | Задает часовой пояс для Sent поля черновика сообщения ответа в ФОРМАТЕ HTML, создаваемого этим API на основе текста запроса. Значением может быть любой из значений supportedTimeZones, настроенных для пользователя. Если не указано, это Sent поле находится в формате UTC.Используйте этот заголовок, только если вы указываете Content-Type: application/json заголовок для создания черновика сообщения ответа в ФОРМАТЕ HTML. Если вы используете Content-Type: text/plain заголовок, этот Prefer заголовок не оказывает никакого влияния. Необязательный параметр. |
Текст запроса
При использовании формата JSON укажите объект JSON со следующими параметрами.
Параметр | Тип | Описание |
---|---|---|
comment | String | Добавляемый комментарий. Может быть пустой строкой. |
message | message | Все записываемые свойства, обновляемые в ответном сообщении. |
При указании текста в формате MIME предоставьте содержимому MIME применимые заголовки сообщений Интернета, которые в тексте запроса закодированы в формате base64 .
Отклик
В случае успеха этот метод возвращает код отклика 201 Created
и объект message в теле отклика.
Если текст запроса содержит неправильно отформатированное содержимое MIME, этот метод возвращает 400 Bad request
и следующее сообщение об ошибке: "Недопустимая строка Base 64 для содержимого MIME".
Примеры
Пример 1. Создание черновика в формате JSON для ответа на существующее сообщение
В следующем примере создается черновик ответа, добавляется комментарий и получатель в текст запроса.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/me/messages/AAMkADA1MTAAAAqldOAAA=/createReply
Content-Type: application/json
{
"message":{
"toRecipients":[
{
"emailAddress": {
"address":"samanthab@contoso.com",
"name":"Samantha Booth"
}
},
{
"emailAddress":{
"address":"randiw@contoso.com",
"name":"Randi Welch"
}
}
]
},
"comment": "Samantha, Randi, would you name the group if the project is approved, please?"
}
Отклик
Ниже показан пример отклика. Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#Me/messages/$entity",
"@odata.id": "https://graph.microsoft.com/beta/users('86b6ceaf-57f7-4278-97c4-4da0a97f6cdb@70559e59-b378-49ea-8e53-07a3a3d27f5b')/messages('AAMkADA1MTAAAH5JKoAAA=')",
"@odata.etag": "W/\"CQAAABYAAADX8oL1Wa7jQbcPAHouCzswAAAH5/DO\"",
"id": "AAMkADA1MTAAAH5JKoAAA=",
"subject": "RE: Let's start a group",
"Body": {
"contentType": "HTML",
"content": "<html>\r\n<body>Samantha, Randi, would you name the group if the project is approved, please?\r\n<b>From:</b> Samantha Booth<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>"
},
"sender": {
"emailAddress": {
"name": "Admin",
"address": "admin@contoso.com"
}
},
"from": null,
"toRecipients": [
{
"emailAddress": {
"name": "Samantha Booth",
"address": "samanthab@contoso.com"
}
},
{
"emailAddress": {
"name": "Randi Welch",
"address": "randiw@contoso.com"
}
}
]
}
Пример 2. Создание черновика сообщения в формате MIME для ответа на существующее сообщение
Запрос
POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/createReply
Content-type: text/plain
RnJvbTogQWxleCBXaWxiZXIgPEFsZXhXQGNvbnRvc28uY29tPgpUbzogTWVnYW4gQm93ZW4gPE1l
Z2FuQkBjb250b3NvLmNvbT4KU3ViamVjdDogSW50ZXJuYWwgUmVzdW1lIFN1Ym1pc3Npb246IFNh
bGVzIEFzc29jaWF0ZQpUaHJlYWQtVG9waWM6IEludGVybmFsIFJlc3VtZSBTdWJtaXNzaW9uOiBT
YWxlcyBBc3NvY2lhdGUKVGhyZWFkLUluZGV4OiBjb2RlY29kZWNvZGVoZXJlaGVyZWhlcmUKRGF0
ZTogU3VuLCAyOCBGZWIgMjAyMSAwNzoxNTowMCA
Отклик
Ниже показан пример отклика.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('0aaa0aa0-0000-0a00-a00a-0000009000a0')/messages/$entity",
"@odata.etag": "W/\"AAAAAAAAAAAa00AAAa0aAaAa0a0AAAaAAAAaAa0a\"",
"id": "AAMkADA1MTAAAAqldOAAA=",
"createdDateTime": "2021-04-23T18:13:44Z",
"lastModifiedDateTime": "2021-04-23T18:13:44Z",
"changeKey": "AAAAAAAAAAAA00aaaa000aaA",
"categories": [],
"receivedDateTime": "2021-04-23T18:13:44Z",
"sentDateTime": "2021-02-28T07:15:00Z",
"hasAttachments": false,
"internetMessageId": "<AAAAAAAAAA@AAAAAAA0001AA0000.codcod00.prod.outlook.com>",
"subject": "Internal Resume Submission: Sales Associate",
"bodyPreview": "Hi, Megan.I have an interest in the Sales Associate position. Please consider my resume, which you can access here...",
"importance": "normal",
"parentFolderId": "LKJDSKJHkjhfakKJHFKWKKJHKJdhkjHDK==",
"conversationId": "SDSFSmFSDGI5LWZhYjc4fsdfsd=",
"conversationIndex": "Adfsdfsdfsdfw==",
"isDeliveryReceiptRequested": null,
"isReadReceiptRequested": false,
"isRead": true,
"isDraft": true,
"webLink": "https://outlook.office365.com/owa/?ItemID=AAMkAGNhOWAvsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification": "focused",
"body": {
"contentType": "text",
"content": "Hi, Megan.I have an interest in the Sales Associate position. Please consider my resume, which you can access here... Regards,Alex"
},
"sender": {
"emailAddress": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
},
"from": {
"emailAddress": {
"name": "Alex Wilber",
"address": "AlexW@contoso.com"
}
},
"toRecipients": [
{
"emailAddress": {
"name": "Megan Bowen",
"address": "MeganB@contoso.com"
}
}
],
"ccRecipients": [],
"bccRecipients": [],
"replyTo": [],
"flag": {
"flagStatus": "notFlagged"
}
}
Если текст запроса содержит неправильно отформатированное содержимое MIME, этот метод возвращает следующее сообщение об ошибке.
HTTP/1.1 400 Bad Request
Content-type: application/json
{
"error": {
"code": "ErrorMimeContentInvalidBase64String",
"message": "Invalid base64 string for MIME content."
}
}