Namespace: microsoft.graph.
Wichtig
Die APIs unter der /beta Version in Microsoft Graph können sich ändern. Die Verwendung dieser APIs in Produktionsanwendungen wird nicht unterstützt. Um festzustellen, ob eine API in v1.0 verfügbar ist, verwenden Sie die Version Selektor.
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.
Erstellen Sie alternativ einen Entwurf, um auf eine Nachricht zu antworten, und senden Sie sie später.
Diese API ist in den folgenden nationalen Cloudbereitstellungen verfügbar.
| Weltweiter Service |
US Government L4 |
US Government L5 (DOD) |
China, betrieben von 21Vianet |
| ✅ |
✅ |
✅ |
✅ |
Berechtigungen
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. 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 für application/json ein JSON-Objekt und text/plain für MIME-Inhalte |
| 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, schließen Sie ein JSON-Objekt mit den folgenden Parametern ein.
| 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 Antwortcode 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/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)
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
UmVjZWl2ZWQ6IGZyb20gY29udG9zby5jb20gKDEwLjE5NC4yNDEuMTk3KSBieSAKY29udG9zby5jb20gKDEwLjE5NC4yNDEuMTk3KSB3aXRoIE1pY3Jvc29mdCAKU01UUCBTZXJ2ZXIgKHZlcnNpb249VExTMV8yLCAKY2lwaGVyPVRMU19FQ0RIRV9SU0FfV0lUSF9BRVNfMjU2X0NCQ19TSEEzODRfUDI1NikgaW
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."
}
}