メッセージ: reply
[アーティクル]
02/03/2022
3 人の共同作成者
この記事の内容
名前空間: microsoft.graph
JSON 形式または MIME 形式を 使用して メッセージの送信者に返信します。
JSON 形式を使用する場合:
パラメーターのコメントまたは body プロパティを指定 message します。 両方を指定すると、「HTTP 400 要求が正しくありません」というエラーが返されます。
元のメッセージが replyTo プロパティの受信者をインターネット メッセージ形式 (RFC 2822 ) ごとに指定する場合は、from プロパティの受信者ではなく replyTo の受信者に返信を 送信 します。
MIME 形式を使用すると、以下のことが可能になります。
このメソッドでは、[送信済みアイテム] フォルダーにメッセージを保存できます。
または、下 書きを作成して既存のメッセージに 返信し、 後で送信 します。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。アクセス許可の選択方法などの詳細については、「アクセス許可 」を参照してください。
アクセス許可の種類
アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント)
Mail.Send
委任 (個人用 Microsoft アカウント)
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
ベアラー {token}。 必須
Content-Type
string
エンティティ本文内のデータの性質です。 必須 JSON オブジェクトには application/json を、MIME コンテンツには text/plain を使用します。
要求本文
JSON 形式を使用する場合は、要求本文に次のパラメーターを含む JSON オブジェクトを指定します。
パラメーター
種類
説明
comment
String
含めるコメントです。空の文字列にすることができます。
メッセージ
message
返信メッセージで更新する書き込み可能なプロパティです。
本文を MIME 形式で指定する場合は、MIME コンテンツに、要求本文の base64 形式でエンコードされた、適用可能なインターネット メッセージ ヘッダーを指定します。 このメソッドは、元のメッセージの送信者を受信者として使用します。
応答
成功した場合、このメソッドは 202 Accepted 応答コードを返します。応答本文には何も返されません。
要求本文に不正な MIME コンテンツが含まれていた場合、このメソッドは 400 Bad request と次のエラー メッセージを返します。"MIME コンテンツの無効な base64 文字列"。
例
次の例では、コメントを含め、受信者を返信メッセージに追加します。
要求
以下は、要求の例です。
POST https://graph.microsoft.com/v1.0/me/messages/AAMkADA1MTAAAAqldOAAA=/reply
Content-Type: application/json
{
"message":{
"toRecipients":[
{
"emailAddress": {
"address":"samanthab@contoso.onmicrosoft.com",
"name":"Samantha Booth"
}
},
{
"emailAddress":{
"address":"randiw@contoso.onmicrosoft.com",
"name":"Randi Welch"
}
}
]
},
"comment": "Samantha, Randi, would you name the group please?"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var message = new Message
{
ToRecipients = new List<Recipient>()
{
new Recipient
{
EmailAddress = new EmailAddress
{
Address = "samanthab@contoso.onmicrosoft.com",
Name = "Samantha Booth"
}
},
new Recipient
{
EmailAddress = new EmailAddress
{
Address = "randiw@contoso.onmicrosoft.com",
Name = "Randi Welch"
}
}
}
};
var comment = "Samantha, Randi, would you name the group please?";
await graphClient.Me.Messages["{message-id}"]
.Reply(message,comment)
.Request()
.PostAsync();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
const reply = {
message: {
toRecipients: [
{
emailAddress: {
address: 'samanthab@contoso.onmicrosoft.com',
name: 'Samantha Booth'
}
},
{
emailAddress: {
address: 'randiw@contoso.onmicrosoft.com',
name: 'Randi Welch'
}
}
]
},
comment: 'Samantha, Randi, would you name the group please?'
};
await client.api('/me/messages/AAMkADA1MTAAAAqldOAAA=/reply')
.post(reply);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/me/messages/AAMkADA1MTAAAAqldOAAA=/reply"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
MSGraphMessage *message = [[MSGraphMessage alloc] init];
NSMutableArray *toRecipientsList = [[NSMutableArray alloc] init];
MSGraphRecipient *toRecipients = [[MSGraphRecipient alloc] init];
MSGraphEmailAddress *emailAddress = [[MSGraphEmailAddress alloc] init];
[emailAddress setAddress:@"samanthab@contoso.onmicrosoft.com"];
[emailAddress setName:@"Samantha Booth"];
[toRecipients setEmailAddress:emailAddress];
[toRecipientsList addObject: toRecipients];
MSGraphRecipient *toRecipients = [[MSGraphRecipient alloc] init];
MSGraphEmailAddress *emailAddress = [[MSGraphEmailAddress alloc] init];
[emailAddress setAddress:@"randiw@contoso.onmicrosoft.com"];
[emailAddress setName:@"Randi Welch"];
[toRecipients setEmailAddress:emailAddress];
[toRecipientsList addObject: toRecipients];
[message setToRecipients:toRecipientsList];
payloadDictionary[@"message"] = message;
NSString *comment = @"Samantha, Randi, would you name the group please?";
payloadDictionary[@"comment"] = comment;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Message message = new Message();
LinkedList<Recipient> toRecipientsList = new LinkedList<Recipient>();
Recipient toRecipients = new Recipient();
EmailAddress emailAddress = new EmailAddress();
emailAddress.address = "samanthab@contoso.onmicrosoft.com";
emailAddress.name = "Samantha Booth";
toRecipients.emailAddress = emailAddress;
toRecipientsList.add(toRecipients);
Recipient toRecipients1 = new Recipient();
EmailAddress emailAddress1 = new EmailAddress();
emailAddress1.address = "randiw@contoso.onmicrosoft.com";
emailAddress1.name = "Randi Welch";
toRecipients1.emailAddress = emailAddress1;
toRecipientsList.add(toRecipients1);
message.toRecipients = toRecipientsList;
String comment = "Samantha, Randi, would you name the group please?";
graphClient.me().messages("AAMkADA1MTAAAAqldOAAA=")
.reply(MessageReplyParameterSet
.newBuilder()
.withMessage(message)
.withComment(comment)
.build())
.buildRequest()
.post();
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
message := msgraphsdk.NewMessage()
requestBody.SetMessage(message)
message.SetToRecipients( []Recipient {
msgraphsdk.NewRecipient(),
emailAddress := msgraphsdk.NewEmailAddress()
SetEmailAddress(emailAddress)
address := "samanthab@contoso.onmicrosoft.com"
emailAddress.SetAddress(&address)
name := "Samantha Booth"
emailAddress.SetName(&name)
msgraphsdk.NewRecipient(),
emailAddress := msgraphsdk.NewEmailAddress()
SetEmailAddress(emailAddress)
address := "randiw@contoso.onmicrosoft.com"
emailAddress.SetAddress(&address)
name := "Randi Welch"
emailAddress.SetName(&name)
}
comment := "Samantha, Randi, would you name the group please?"
requestBody.SetComment(&comment)
messageId := "message-id"
graphClient.Me().MessagesById(&messageId).Reply(message-id).Post(requestBody)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
Import-Module Microsoft.Graph.Users.Actions
$params = @{
Message = @{
ToRecipients = @(
@{
EmailAddress = @{
Address = "samanthab@contoso.onmicrosoft.com"
Name = "Samantha Booth"
}
}
@{
EmailAddress = @{
Address = "randiw@contoso.onmicrosoft.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
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
以下は、応答の例です。
HTTP/1.1 202 Accepted
要求
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."
}
}