首页 > 解决方案 > 更改选定的邮件项目 - Outlook 插件 JS API

问题描述

我有一个非常基本的 Outlook 加载项,它从用户的计算机获取信息并将其附加到电子邮件中,作为帮助台票务系统的一部分。为了避免文件上传的任何麻烦,我想使用Office.context.mailbox.item.addFileAttachmentFromBase64Async()附加信息的方法。问题是这样的:加载项旨在在用户处于阅读模式时从功能区单击,它调用该displayNewMessageFormAsync()方法,从而打开预先填写了某些信息的消息表单。但是,当我随后调用Office.context.mailbox.item.addFileAttachmentFromBase64Async()时,所引用的项目仍然是用户正在阅读的项目,而不是正在编写的新项目。

我已经浏览了 JS API 的 MS Docs,但我看不到任何以编程方式更改项目选择的方法。有没有办法做到这一点,或者另一种方法来附加我的文件?在我看来,重要的是让用户的步数减少到一个(只需在阅读模式下单击按钮);如果他们必须自己开始撰写消息然后单击它,我认为他们不会单击它。

标签: javascriptoutlookoffice365outlook-web-addins

解决方案


如果您的目标是将附件附加到由 displayNewMessageFormAsync() 创建的新消息,那么执行此操作的唯一方法是使用 Attachment 参数。但是,该参数仅允许您上传具有 URL 的文件。(不是 Base64 编码的附件)。

如果您请求新功能来 displayNewMessageFormAsync 以支持 Base64 附件,则需要在以下位置提出新功能请求:https ://techcommunity.microsoft.com/t5/microsoft-365-developer-platform/idb-p/Microsoft365DeveloperPlatform

目前,每个加载项实例的“范围”都是项目级别。(即加载项实际上只能直接访问它打开的项目。对此有一些例外。(例如 Rest/EWS 调用和固定加载项)但没有什么可以解决您的方案.

您可以在 Compose Scenario 中有一个加载项,用户可以在创建新消息后打开该加载项,但这可能不是您想要的。


推荐阅读