Javascript 如何使用Microsoft Graph将现有电子邮件作为附件添加到新电子邮件

Javascript 如何使用Microsoft Graph将现有电子邮件作为附件添加到新电子邮件,javascript,outlook-addin,outlook-restapi,Javascript,Outlook Addin,Outlook Restapi,我正在尝试将现有电子邮件项目作为附件添加到新邮件中。目标是让我的Outlook插件将当前选定的电子邮件作为附件转发,供其他人进一步审阅 我基本上是这样做的: 获取我要转发的邮箱项目的ID: var itemId=Office.context.mailbox.convertorestid(Office.context.mailbox.item.itemId,Office.MalboxEnums.RestVersion.v2\u 0) 使用此URL获取消息: var getMessageUrl=O

我正在尝试将现有电子邮件项目作为附件添加到新邮件中。目标是让我的Outlook插件将当前选定的电子邮件作为附件转发,供其他人进一步审阅

我基本上是这样做的:

  • 获取我要转发的邮箱项目的ID:

    var itemId=Office.context.mailbox.convertorestid(Office.context.mailbox.item.itemId,Office.MalboxEnums.RestVersion.v2\u 0)

  • 使用此URL获取消息:

    var getMessageUrl=Office.context.mailbox.restUrl+'/v2.0/me/messages/'+itemId

  • 此选项用于此呼叫中的附件:

    “邮件”:{“主题”:“垃圾邮件:+回复[“主题”],“正文”:{“内容类型”:“文本”,“内容”:“Office插件测试”},“收件人”:[{“电子邮件地址”:{“地址”:收件人}], “附件”:[{@odata.type]:“#Microsoft.OutlookServices.ItemAttachment”,“ContentType”:“JSON”,“Name”:response[“Subject”]+.eml”,“Id”:itemId},“SaveToSentItems”:“false”

  • 我在执行此操作时出错。我甚至尝试传递从第一个REST调用获得的响应以获得原始错误。它不喜欢我传递的数据的格式,即使我在接收数据时逐字传递它

    我实现此功能的唯一方法是使用响应中的所有字段手动创建新附件。但是,这不会保留原始电子邮件的标题(我需要发送以供审阅)。它还会使电子邮件处于草稿/未发送模式(也就是说,当我打开它时,编辑准备编辑并发送它,而不是打开已经发送的电子邮件时编辑的样子)

    有没有一种方法可以直接告诉API获取附件?为什么我必须将数据向下拉,然后再向上发送

    我已经审阅了此SO帖子,但需要更多帮助: