Microsoft graph api 如果我需要阅读office 365电子邮件项目,然后在同一电子邮件链上回复,我应该采用什么逻辑

Microsoft graph api 如果我需要阅读office 365电子邮件项目,然后在同一电子邮件链上回复,我应该采用什么逻辑,microsoft-graph-api,Microsoft Graph Api,GraphAPI要求: 阅读电子邮件。 回复相同的电子邮件链 问题陈述: 我无法在同一电子邮件链上发布回复。当我这样做时,会发送一封新的电子邮件。但我的要求是在现有的电子邮件链上发送回复 输出如下所示: 嗨,团队 此电子邮件已通过GraphAPI代码发送 谢谢 阿比吉特 关联代码: -主要方法- 静态环[]args { Console.WriteApp已启动\n; ReadingEmail.AppClientCall; } --读取email.cs类文件--- 课堂阅读电子邮件{ 公共静态图形服

GraphAPI要求:

阅读电子邮件。 回复相同的电子邮件链 问题陈述: 我无法在同一电子邮件链上发布回复。当我这样做时,会发送一封新的电子邮件。但我的要求是在现有的电子邮件链上发送回复

输出如下所示: 嗨,团队

此电子邮件已通过GraphAPI代码发送

谢谢

阿比吉特

关联代码: -主要方法- 静态环[]args { Console.WriteApp已启动\n; ReadingEmail.AppClientCall; } --读取email.cs类文件--- 课堂阅读电子邮件{ 公共静态图形服务客户端; 公共静态字符串_draftId=null; 公共静态void AppClientCall{ client=GraphApiAuthenticationClient.GetAuthenticatedClientForApp; 字符串电子邮件=xyz@.onmicrosoft.com; var messages=client.Users[email].MailFolders.Inbox.messages.Request.Selecte=>new{ e、 主题,, e、 伊斯雷德, e、 身份证 }.GetAsync; 如果messages.Result.Count==0{ Console.WriteLineno邮箱中的邮件; } messages.Result中的foreachMessage消息{ 如果message.Subject.Contains190 Report&&message.IsRead==false{ Console.WriteLineFound 190名为:+message.Subject的报告; message.IsRead=true; clsreplyll.CreateReplyAllmessage.Id;//Api调用太多创建草稿 } Console.WriteLinemessage.Subject; } Console.ReadLine; } } --clsreplyll.cs类文件----- CLSReplyll类 { 公共静态图形服务客户端; 公共静态异步void CreateReplyAllstring p { client=GraphApiAuthenticationClient.GetAuthenticatedClientForApp; 字符串电子邮件=xyz@.onmicrosoft.com; 等待客户端。用户[email]。邮件文件夹。收件箱。邮件[p]。CreateReplyAll.Request.PostAsync; Console.WriteLineInbox Id:\n+p; clsUpdateDraftedEmail.Updatep;//用于api调用以更新草稿 } } --clsUpdateDraftedEmail.cs----- 类clsUpdateDraftedEmail{ 公共静态图形服务客户端; 公共静态异步void Updatestring\u InboxMailId { client=GraphApiAuthenticationClient.GetAuthenticatedClientForApp; 字符串电子邮件=xyz@.onmicrosoft.com; 消息_msg=PrepareEmail; var did=wait client.Users[email].MailFolders.Drafts.Messages.Request .Selecte=>new{e.Id}.GetAsync ; var\u getDraftFileID=did.CurrentPage.First.Id; Console.WriteLineInboxId:\n+\u收件箱邮件ID+\n; Console.WriteLineDraft id:\n+\u getDraftFileID; CallGraphitoUpdateTheDraftMessageWithBody_getDraftFileID,_msg;//调用api添加body } 专用静态消息PrepareEmail { 消息_msg=新消息{ Body=新项目Body{ ContentType=BodyType.Html, Content=Hi团队,此电子邮件由GraphAPI代码发送,谢谢Abhijeet }, 推断分类=推断分类类型。其他 }; 返回消息; } 私有静态异步void调用GraphHapiToUpdateTheDraftMessageWithBodyString _getDraftFileID,Microsoft.Graph.Message _msg { client=GraphApiAuthenticationClient.GetAuthenticatedClientForApp; 字符串电子邮件=xyz@.onmicrosoft.com; 等待client.Users[email].MailFolders.Drafts.Messages[\u getDraftFileID].Request.UpdateAsync\u msg; sendmails.SendTheFileReply_getDraftFileID; } } --sendmails.cs----- 类发送电子邮件{ 公共静态图形服务客户端; 公共静态异步void SendTheFileReplystring\u getDraftFileID { client=GraphApiAuthenticationClient.GetAuthenticatedClientForApp; 字符串电子邮件=xyz@.onmicrosoft.com; 等待client.Users[email].MailFolders.Drafts.Messages[\u getDraftFileID].Send.Request.PostAsync; Console.writelineEmail发送; } } 您使用CreateReplyAll创建回复,但从不使用它!PrepareEmail函数只是创建了一条与您要回复的邮件完全没有连接的新邮件

您应该获取从CreateReplyAll返回的消息对象,并改用它。比如:

var reply = await client.Users[email]
    .MailFolders
    .Inbox
    .Messages[p]
    .CreateReplyAll()
    .Request().PostAsync();