API версии /beta в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Отвечайте всем получателям сообщения в формате JSON или MIME.
При использовании формата JSON:
Укажите комментарий или свойство messagebody параметра. Если указать оба варианта, вы получите ошибку HTTP 400 Bad Request.
Если исходное сообщение указывает получателя в свойстве replyTo в формате сообщения Интернета (RFC 2822), отправьте ответ получателям в replyTo , а не получателю в свойстве from .
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения
Разрешения с наименьшими привилегиями
Более высокие привилегированные разрешения
Делегированные (рабочая или учебная учетная запись)
Mail.Send
Недоступно.
Делегированные (личная учетная запись Майкрософт)
Mail.Send
Недоступно.
Для приложений
Mail.Send
Недоступно.
HTTP-запрос
POST /users/me/messages/{id}/replyAll
POST /users/{id | userPrincipalName}/messages/{id}/replyAll
POST /me/mailFolders/{id}/messages/{id}/replyAll
POST /users/{id | userPrincipalName}/mailFolders/{id}/messages/{id}/replyAll
Заголовки запросов
Имя
Тип
Описание
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 и следующее сообщение об ошибке: "Недопустимая строка Base 64 для содержимого MIME".
Примеры
Пример 1. Ответить всем на сообщение в формате JSON
Следующий пример включает комментарий и добавляет вложение в сообщение reply-all.
POST https://graph.microsoft.com/beta/me/messages/AAMkADA1MTAAAH5JaKAAA=/replyAll
Content-Type: application/json
{
"message":{
"attachments": [
{
"@odata.type": "#microsoft.graph.fileAttachment",
"name": "guidelines.txt",
"contentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
]
},
"comment": "Please take a look at the attached guidelines before you decide on the name."
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Me.Messages.Item.ReplyAll;
using Microsoft.Graph.Beta.Models;
var requestBody = new ReplyAllPostRequestBody
{
Message = new Message
{
Attachments = new List<Attachment>
{
new FileAttachment
{
OdataType = "#microsoft.graph.fileAttachment",
Name = "guidelines.txt",
ContentBytes = Convert.FromBase64String("bWFjIGFuZCBjaGVlc2UgdG9kYXk="),
},
},
},
Comment = "Please take a look at the attached guidelines before you decide on the name.",
};
// 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}"].ReplyAll.PostAsync(requestBody);
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
mgc-beta users messages reply-all post --user-id {user-id} --message-id {message-id} --body '{\
"message":{\
"attachments": [\
{\
"@odata.type": "#microsoft.graph.fileAttachment",\
"name": "guidelines.txt",\
"contentBytes": "bWFjIGFuZCBjaGVlc2UgdG9kYXk="\
}\
]\
},\
"comment": "Please take a look at the attached guidelines before you decide on the name."\
}\
'
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
// 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.NewItemReplyAllPostRequestBody()
message := graphmodels.NewMessage()
attachment := graphmodels.NewFileAttachment()
name := "guidelines.txt"
attachment.SetName(&name)
contentBytes := []byte("bWFjIGFuZCBjaGVlc2UgdG9kYXk=")
attachment.SetContentBytes(&contentBytes)
attachments := []graphmodels.Attachmentable {
attachment,
}
message.SetAttachments(attachments)
requestBody.SetMessage(message)
comment := "Please take a look at the attached guidelines before you decide on the name."
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").ReplyAll().Post(context.Background(), requestBody, nil)
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
// 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.replyall.ReplyAllPostRequestBody replyAllPostRequestBody = new com.microsoft.graph.beta.users.item.messages.item.replyall.ReplyAllPostRequestBody();
Message message = new Message();
LinkedList<Attachment> attachments = new LinkedList<Attachment>();
FileAttachment attachment = new FileAttachment();
attachment.setOdataType("#microsoft.graph.fileAttachment");
attachment.setName("guidelines.txt");
byte[] contentBytes = Base64.getDecoder().decode("bWFjIGFuZCBjaGVlc2UgdG9kYXk=");
attachment.setContentBytes(contentBytes);
attachments.add(attachment);
message.setAttachments(attachments);
replyAllPostRequestBody.setMessage(message);
replyAllPostRequestBody.setComment("Please take a look at the attached guidelines before you decide on the name.");
graphClient.me().messages().byMessageId("{message-id}").replyAll().post(replyAllPostRequestBody);
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
const options = {
authProvider,
};
const client = Client.init(options);
const replyAll = {
message: {
attachments: [
{
'@odata.type': '#microsoft.graph.fileAttachment',
name: 'guidelines.txt',
contentBytes: 'bWFjIGFuZCBjaGVlc2UgdG9kYXk='
}
]
},
comment: 'Please take a look at the attached guidelines before you decide on the name.'
};
await client.api('/me/messages/AAMkADA1MTAAAH5JaKAAA=/replyAll')
.version('beta')
.post(replyAll);
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Users\Item\Messages\Item\ReplyAll\ReplyAllPostRequestBody;
use Microsoft\Graph\Beta\Generated\Models\Message;
use Microsoft\Graph\Beta\Generated\Models\Attachment;
use Microsoft\Graph\Beta\Generated\Models\FileAttachment;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ReplyAllPostRequestBody();
$message = new Message();
$attachmentsAttachment1 = new FileAttachment();
$attachmentsAttachment1->setOdataType('#microsoft.graph.fileAttachment');
$attachmentsAttachment1->setName('guidelines.txt');
$attachmentsAttachment1->setContentBytes(\GuzzleHttp\Psr7\Utils::streamFor(base64_decode('bWFjIGFuZCBjaGVlc2UgdG9kYXk=')));
$attachmentsArray []= $attachmentsAttachment1;
$message->setAttachments($attachmentsArray);
$requestBody->setMessage($message);
$requestBody->setComment('Please take a look at the attached guidelines before you decide on the name.');
$graphServiceClient->me()->messages()->byMessageId('message-id')->replyAll()->post($requestBody)->wait();
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
Import-Module Microsoft.Graph.Beta.Mail
$params = @{
message = @{
attachments = @(
@{
"@odata.type" = "#microsoft.graph.fileAttachment"
name = "guidelines.txt"
contentBytes = "bWFjIGFuZCBjaGVlc2UgdG9kYXk="
}
)
}
comment = "Please take a look at the attached guidelines before you decide on the name."
}
# A UPN can also be used as -UserId.
Invoke-MgBetaReplyAllUserMessage -UserId $userId -MessageId $messageId -BodyParameter $params
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.
# 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_all.reply_all_post_request_body import ReplyAllPostRequestBody
from msgraph_beta.generated.models.message import Message
from msgraph_beta.generated.models.attachment import Attachment
from msgraph_beta.generated.models.file_attachment import FileAttachment
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReplyAllPostRequestBody(
message = Message(
attachments = [
FileAttachment(
odata_type = "#microsoft.graph.fileAttachment",
name = "guidelines.txt",
content_bytes = base64.urlsafe_b64decode("bWFjIGFuZCBjaGVlc2UgdG9kYXk="),
),
],
),
comment = "Please take a look at the attached guidelines before you decide on the name.",
)
await graph_client.me.messages.by_message_id('message-id').reply_all.post(request_body)
Важно!
Пакеты SDK для Microsoft Graph по умолчанию используют версию API версии 1.0 и поддерживают не все типы, свойства и API, доступные в бета-версии. Дополнительные сведения о доступе к бета-API с помощью SDK см. в статье Использование пакетов Microsoft Graph SDK с бета-API.