Namespace: microsoft.graph
Antworten Sie dem Absender einer Nachricht im JSON- oder MIME-Format.
Bei Verwendung des JSON-Formats:
- Geben Sie entweder einen Kommentar oder die body-Eigenschaft des
message
Parameters an. Wenn Sie beide angeben, wird ein HTTP-Fehler 400 Bad Request
zurückgegeben.
- Wenn die ursprüngliche Nachricht einen Empfänger in der replyTo-Eigenschaft pro Internetnachrichtenformat (RFC 2822) angibt, senden Sie die Antwort an die Empfänger in replyTo und nicht an den Empfänger in der eigenschaft from .
Bei Verwendung des MIME-Formats:
- Geben Sie die entsprechenden Internetnachrichtenkopfzeilen und den MIME-Inhalt an, die im Anforderungstext alle im Base64-Format codiert sind.
- Fügen Sie dem MIME-Inhalt sämtliche Anlagen und S/MIME-Eigenschaften hinzu.
Bei dieser Methode wird die Nachricht im Ordner Gesendete Elemente gespeichert.
Alternativ können Sie einen Entwurf erstellen, um auf eine vorhandene Nachricht zu antworten und sie später zu senden .
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
Globaler Dienst |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
✅ |
✅ |
✅ |
✅ |
Berechtigungen
Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
Berechtigungstyp |
Berechtigungen mit den geringsten Berechtigungen |
Berechtigungen mit höheren Berechtigungen |
Delegiert (Geschäfts-, Schul- oder Unikonto) |
Mail.Send |
Nicht verfügbar. |
Delegiert (persönliches Microsoft-Konto) |
Mail.Send |
Nicht verfügbar. |
Anwendung |
Mail.Send |
Nicht verfügbar. |
HTTP-Anforderung
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
Name |
Typ |
Beschreibung |
Authorization |
string |
Bearer {token}. Erforderlich |
Content-Type |
string |
Die Art der Daten im Textkörper einer Entität. Erforderlich Verwenden Sie application/json für ein JSON-Objekt und text/plain für MIME-Inhalt. |
Prefer: outlook.timezone |
string |
Legt die Zeitzone für das Sent Feld der Antwortnachricht in HTML fest, das diese API basierend auf dem Anforderungstext erstellt. Der Wert kann jede der supportedTimeZones sein, die für den Benutzer konfiguriert sind. Wenn nicht angegeben, wird dieses Sent Feld in UTC angegeben.
Verwenden Sie diesen Header nur, wenn Sie den Content-Type: application/json Header angeben, um die Antwortnachricht in HTML zu erstellen. Wenn Sie den Content-Type: text/plain -Header verwenden, hat dieser Prefer Header keine Auswirkung. Optional. |
Anforderungstext
Wenn Sie das JSON-Format verwenden, geben Sie ein JSON-Objekt im Anforderungstext mit den folgenden Parametern an.
Parameter |
Typ |
Beschreibung |
comment |
String |
Ein Kommentar, der eingefügt werden kann. Kann eine leere Zeichenfolge sein. |
message |
Nachricht |
Alle beschreibbaren Eigenschaften, die in der Antwortnachricht aktualisiert werden sollen. |
Wenn Sie den Text im MIME-Format angeben, geben Sie den MIME-Inhalt mit den entsprechenden Internetnachrichtenheadern an, die alle im Base64-Format im Anforderungstext codiert sind. Diese Methode verwendet den Absender der ursprünglichen Nachricht als Empfänger.
Antwort
Wenn die Methode erfolgreich verläuft, wird der Antwortcode 202 Accepted
zurückgegeben. Es gibt nichts im Antworttext zurück.
Wenn der Anforderungstext falsch formatierten MIME-Inhalt enthält, gibt diese Methode einen 400 Bad Request
Fehlercode und die folgende Fehlermeldung zurück: "Ungültige Base64-Zeichenfolge für MIME-Inhalt".
Beispiele
Das folgende Beispiel enthält einen Kommentar und fügt der Antwortnachricht einen Empfänger hinzu.
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
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);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
mgc users messages reply post --user-id {user-id} --message-id {message-id} --body '{\
"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?"\
}\
'
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
// 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)
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
// 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);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
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')
.post(reply);
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
<?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();
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
Import-Module Microsoft.Graph.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-MgReplyUserMessage -UserId $userId -MessageId $messageId -BodyParameter $params
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
# 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)
Einzelheiten darüber, wie Sie das SDK zu Ihrem Projekt hinzufügen und eine authProvider-Instanz erstellen, finden Sie in der SDK-Dokumentation.
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted
Anforderung
Das folgende Beispiel zeigt eine Anfrage.
POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-type: text/plain
Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9wa2NzNy1taW1lOw0KCW5hbWU9c21pbWUucDdtOw0KCXNtaW1lLXR5cGU9ZW52ZWxvcGVkLWRhdGENCk1pbWUtVmVyc2lvbjogMS4wIChNYWMgT1MgWCBNYWlsIDEzLjAgXCgzNjAxLjAuMTBcKSkNClN1YmplY3Q6IFJlOiBUZXN0aW5nIFMvTUlNRQ0KQ29udGVudC1EaXNwb3Np
Antwort
Das folgende Beispiel zeigt die Antwort.
HTTP/1.1 202 Accepted
Wenn der Anforderungstext falsch formatierten MIME-Inhalt enthält, gibt diese Methode die folgende Fehlermeldung an.
HTTP/1.1 400 Bad Request
Content-type: application/json
{
"error": {
"code": "ErrorMimeContentInvalidBase64String",
"message": "Invalid base64 string for MIME content."
}
}