无法识别注释'Odata.context'



通过Microsoft Graph Api访问电子邮件,我已将单值属性添加到Message对象中。但是在执行SendMail查询时:client.Users[MailBoxId].SendMail(message, true).Request().PostAsync();它抛出了一个错误,该错误状态为:Code:RequestBodyRead消息:已找到批注"odata.context"。当前位置无法识别或不需要此批注。内部错误:附加数据:日期:2020-07-24T07:46:37请求id:xxxx-xxx-xxx-xxx-xxxxxx客户端请求ID:xxxx-xxx-xxx-xxx-xxxxxx。https://graph.microsoft.com/v1.0/$metadata#用户('xxx@y.com'(/messages(singleValueExtendedProperties(((/$entity。在这张图中,我们可以看到Odata值解决这一问题的任何线索都将非常有帮助。

首先使用AddAsync((创建草稿消息,然后使用SendMail((.PostAsync(消息:代码:RequestBodyRead消息:找到注释"odata.context"。当前位置无法识别或不需要此批注。

我用Send.PostAsync((替换了SendMail((.PostAsync.((,问题就解决了。下方的代码段

//Construct the Email Message
var emailMessage = new Message
{
Subject = emailSubject,
Body = new ItemBody
{
ContentType = BodyType.Html,
Content = emailBody
},
ToRecipients = toEmailList,
CcRecipients = ccEmailList,
BccRecipients = bccEmailList,
};
//Create a draft message
var draftEmailMessage = await graphClient.Users[emailId].Messages
.Request()
.AddAsync(emailMessage);
//Code to add attachments to the draft message
....
//Send the email message
// NOTE: This does NOT work, throws Odata.context error 
/*
await graphClient.Users[emailId].SendMail(draftEmailMessage, true)
.Request()
.PostAsync();
*/
// NOTE: Replaced above commented code with this - works perfectly!
await graphClient.Users[emailId].Messages[draftEmailMessage.Id].Send()
.Request()
.PostAsync();

最新更新