Espaço de nomes: microsoft.graph.
Importante
As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Responda ao remetente de uma mensagem com o formato JSON ou MIME.
Ao utilizar o formato JSON:
- Especifique um comentário ou a propriedade body do
message parâmetro. Especificar ambos irá devolver um erro HTTP 400 Bad Request .
- Se a mensagem original especificar um destinatário na propriedade replyTo , por Formato de Mensagem da Internet (RFC 2822), envie a resposta aos destinatários em replyTo e não ao destinatário na propriedade from .
Ao utilizar o formato MIME:
Este método salva a mensagem na pasta Itens Enviados.
Em alternativa, crie um rascunho para responder a uma mensagem e envie-o mais tarde.
Esta API está disponível nas seguintes implementações de cloud nacionais.
| Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
Mail.Send |
Indisponível. |
| Delegado (conta pessoal da Microsoft) |
Mail.Send |
Indisponível. |
| Aplicativo |
Mail.Send |
Indisponível. |
Solicitação 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
| Nome |
Tipo |
Descrição |
| Autorização |
string |
{token} de portador. Obrigatório |
| Content-Type |
string |
Natureza dos dados no corpo de uma entidade. Obrigatório Utilizar application/json para um objeto JSON e text/plain para conteúdo MIME |
| Prefira: outlook.timezone |
string |
Define o fuso horário do Sent campo da mensagem de resposta em HTML que esta API cria com base no corpo do pedido. O valor pode ser qualquer um dos SupportedTimeZones configurados para o utilizador. Se não for especificado, esse Sent campo encontra-se em UTC.
Utilize este cabeçalho apenas se estiver a especificar o Content-Type: application/json cabeçalho para criar a mensagem de resposta em HTML. Se utilizar o Content-Type: text/plain cabeçalho, este Prefer cabeçalho não tem qualquer efeito. Opcional. |
Corpo da solicitação
Ao utilizar o formato JSON, inclua um objeto JSON com os seguintes parâmetros.
| Parâmetro |
Tipo |
Descrição |
| comment |
String |
Um comentário a incluir. Não pode ficar vazio. |
| mensagem |
message |
Quaisquer propriedades graváveis a serem atualizadas na mensagem de resposta. |
Ao especificar o corpo no formato MIME, forneça o conteúdo mime com os cabeçalhos de mensagens da Internet aplicáveis, todos codificados no formato base64 no corpo do pedido. Este método utiliza o remetente da mensagem original como destinatário.
Resposta
Se tiver êxito, este método retornará um código de resposta 202 Accepted. Não devolve nada no corpo da resposta.
Se o corpo do pedido incluir conteúdo MIME com formato incorreto, este método devolve um 400 Bad Request código de resposta e a seguinte mensagem de erro: "Cadeia base64 inválida para conteúdo MIME".
Exemplos
O exemplo a seguir inclui um comentário e adiciona um destinatário à mensagem de resposta.
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/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.Beta.Me.Messages.Item.Reply;
using Microsoft.Graph.Beta.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 $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphusers "github.com/microsoftgraph/msgraph-beta-sdk-go/users"
graphmodels "github.com/microsoftgraph/msgraph-beta-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.beta.users.item.messages.item.reply.ReplyPostRequestBody replyPostRequestBody = new com.microsoft.graph.beta.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);
const options = {
authProvider,
};
const client = Client.init(options);
const reply = {
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?'
};
await client.api('/me/messages/AAMkADA1MTAAAAqldOAAA=/reply')
.version('beta')
.post(reply);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Messages\Item\Reply\ReplyPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\Message;
use Microsoft\Graph\Beta\Generated\Models\Recipient;
use Microsoft\Graph\Beta\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();
Import-Module Microsoft.Graph.Beta.Mail
$params = @{
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?"
}
# A UPN can also be used as -UserId.
Invoke-MgBetaReplyUserMessage -UserId $userId -MessageId $messageId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.users.item.messages.item.reply.reply_post_request_body import ReplyPostRequestBody
from msgraph_beta.generated.models.message import Message
from msgraph_beta.generated.models.recipient import Recipient
from msgraph_beta.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)
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 202 Accepted
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: text/plain
UmVjZWl2ZWQ6IGZyb20gY29udG9zby5jb20gKDEwLjE5NC4yNDEuMTk3KSBieSAKY29udG9zby5jb20gKDEwLjE5NC4yNDEuMTk3KSB3aXRoIE1pY3Jvc29mdCAKU01UUCBTZXJ2ZXIgKHZlcnNpb249VExTMV8yLCAKY2lwaGVyPVRMU19FQ0RIRV9SU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEzODRfUDI1NikgaW
Resposta
O exemplo a seguir mostra a resposta.
HTTP/1.1 202 Accepted
Se o corpo da solicitação incluir conteúdo MIME malformado, este método retornará a seguinte mensagem de erro.
HTTP/1.1 400 Bad Request
Content-type: application/json
{
"error": {
"code": "ErrorMimeContentInvalidBase64String",
"message": "Invalid base64 string for MIME content."
}
}