Ответ отправителя сообщения в формате JSON или MIME.
При использовании формата JSON:
Укажите комментарий или свойство messagebody параметра. При указании обоих типов возвращается ошибка HTTP 400 Bad Request .
Если исходное сообщение указывает получателя в свойстве replyTo в формате сообщения Интернета (RFC 2822), отправьте ответ получателям в replyTo , а не получателю в свойстве from .
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
Mail.Send
Недоступно.
Делегированные (личная учетная запись Майкрософт)
Mail.Send
Недоступно.
Для приложений
Mail.Send
Недоступно.
HTTP-запрос
POST /me/messages/{id}/reply
POST /users/{id | userPrincipalName}/messages/{id}/reply
POST /me/mailFolders/{id}/messages/{id}/reply
POST /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}/reply
Заголовки запросов
Имя
Тип
Описание
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
Добавляемый комментарий. Может быть пустой строкой.
Все записываемые свойства, обновляемые в ответном сообщении.
При указании текста в формате MIME предоставьте содержимому MIME применимые заголовки сообщений Интернета, которые в тексте запроса закодированы в формате base64 . Этот метод использует отправителя исходного сообщения в качестве получателя.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 202 Accepted. Он не возвращает ничего в теле ответа.
Если текст запроса содержит неправильно сформированное содержимое MIME, этот метод возвращает 400 Bad Request код ошибки и следующее сообщение об ошибке: "Недопустимая строка base64 для содержимого MIME".
Примеры
Пример 1. Ответ в формате JSON на существующее сообщение
Следующий пример включает комментарий и добавляет получателя в ответное сообщение.
POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
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 please?"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Me.Messages.Item.Reply;
using Microsoft.Graph.Models;
var requestBody = new ReplyPostRequestBody
{
Message = new Message
{
ToRecipients = new List<Recipient>
{
new Recipient
{
EmailAddress = new EmailAddress
{
Address = "samanthab@contoso.com",
Name = "Samantha Booth",
},
},
new Recipient
{
EmailAddress = new EmailAddress
{
Address = "randiw@contoso.com",
Name = "Randi Welch",
},
},
},
},
Comment = "Samantha, Randi, would you name the group please?",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Me.Messages["{message-id}"].Reply.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphusers.NewItemReplyPostRequestBody()
message := graphmodels.NewMessage()
recipient := graphmodels.NewRecipient()
emailAddress := graphmodels.NewEmailAddress()
address := "samanthab@contoso.com"
emailAddress.SetAddress(&address)
name := "Samantha Booth"
emailAddress.SetName(&name)
recipient.SetEmailAddress(emailAddress)
recipient1 := graphmodels.NewRecipient()
emailAddress := graphmodels.NewEmailAddress()
address := "randiw@contoso.com"
emailAddress.SetAddress(&address)
name := "Randi Welch"
emailAddress.SetName(&name)
recipient1.SetEmailAddress(emailAddress)
toRecipients := []graphmodels.Recipientable {
recipient,
recipient1,
}
message.SetToRecipients(toRecipients)
requestBody.SetMessage(message)
comment := "Samantha, Randi, would you name the group please?"
requestBody.SetComment(&comment)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Me().Messages().ByMessageId("message-id").Reply().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.users.item.messages.item.reply.ReplyPostRequestBody replyPostRequestBody = new com.microsoft.graph.users.item.messages.item.reply.ReplyPostRequestBody();
Message message = new Message();
LinkedList<Recipient> toRecipients = new LinkedList<Recipient>();
Recipient recipient = new Recipient();
EmailAddress emailAddress = new EmailAddress();
emailAddress.setAddress("samanthab@contoso.com");
emailAddress.setName("Samantha Booth");
recipient.setEmailAddress(emailAddress);
toRecipients.add(recipient);
Recipient recipient1 = new Recipient();
EmailAddress emailAddress1 = new EmailAddress();
emailAddress1.setAddress("randiw@contoso.com");
emailAddress1.setName("Randi Welch");
recipient1.setEmailAddress(emailAddress1);
toRecipients.add(recipient1);
message.setToRecipients(toRecipients);
replyPostRequestBody.setMessage(message);
replyPostRequestBody.setComment("Samantha, Randi, would you name the group please?");
graphClient.me().messages().byMessageId("{message-id}").reply().post(replyPostRequestBody);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Users\Item\Messages\Item\Reply\ReplyPostRequestBody;
use Microsoft\Graph\Generated\Models\Message;
use Microsoft\Graph\Generated\Models\Recipient;
use Microsoft\Graph\Generated\Models\EmailAddress;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ReplyPostRequestBody();
$message = new Message();
$toRecipientsRecipient1 = new Recipient();
$toRecipientsRecipient1EmailAddress = new EmailAddress();
$toRecipientsRecipient1EmailAddress->setAddress('samanthab@contoso.com');
$toRecipientsRecipient1EmailAddress->setName('Samantha Booth');
$toRecipientsRecipient1->setEmailAddress($toRecipientsRecipient1EmailAddress);
$toRecipientsArray []= $toRecipientsRecipient1;
$toRecipientsRecipient2 = new Recipient();
$toRecipientsRecipient2EmailAddress = new EmailAddress();
$toRecipientsRecipient2EmailAddress->setAddress('randiw@contoso.com');
$toRecipientsRecipient2EmailAddress->setName('Randi Welch');
$toRecipientsRecipient2->setEmailAddress($toRecipientsRecipient2EmailAddress);
$toRecipientsArray []= $toRecipientsRecipient2;
$message->setToRecipients($toRecipientsArray);
$requestBody->setMessage($message);
$requestBody->setComment('Samantha, Randi, would you name the group please?');
$graphServiceClient->me()->messages()->byMessageId('message-id')->reply()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.users.item.messages.item.reply.reply_post_request_body import ReplyPostRequestBody
from msgraph.generated.models.message import Message
from msgraph.generated.models.recipient import Recipient
from msgraph.generated.models.email_address import EmailAddress
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReplyPostRequestBody(
message = Message(
to_recipients = [
Recipient(
email_address = EmailAddress(
address = "samanthab@contoso.com",
name = "Samantha Booth",
),
),
Recipient(
email_address = EmailAddress(
address = "randiw@contoso.com",
name = "Randi Welch",
),
),
],
),
comment = "Samantha, Randi, would you name the group please?",
)
await graph_client.me.messages.by_message_id('message-id').reply.post(request_body)
Пример 2. Ответ в формате MIME на существующее сообщение
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-type: text/plain
Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1lOw0KCW5hbWU9c21pbWUucDdtOw0KCXNtaW1lLXR5cGU9ZW52ZWxvcGVkLWRhdGENCk1pbWUtVmVyc2lvbjogMS4wIChNYWMgT1MgWCBNYWlsIDEzLjAgXCgzNjAxLjAuMTBcKSkNClN1YmplY3Q6IFJlOiBUZXN0aW5nIFMvTUlNRQ0KQ29udGVudC1EaXNwb3Np
Отклик
Ниже показан пример отклика.
HTTP/1.1 202 Accepted
Если текст запроса содержит неправильно отформатированное содержимое MIME, этот метод возвращает следующее сообщение об ошибке.
HTTP/1.1 400 Bad Request
Content-type: application/json
{
"error": {
"code": "ErrorMimeContentInvalidBase64String",
"message": "Invalid base64 string for MIME content."
}
}