MS Outlook 加载项保存异步方法返回错误的 ID



>我正在尝试使用office-js编写Outlook加载项,其中包括保存电子邮件,然后使用MS Graph API发送。

为此,我在这里使用了saveAsync方法,该方法应将当前打开的电子邮件保存为草稿,并返回其ID。然后,我应该能够通过调用图形 API 来发送此消息POST /me/messages/{id}/send

但是,我看到saveAsync返回的 ID 与我的草稿文件夹中实际存在的 ID 略有不同。

例如,我最近一次尝试保存异步给了我:

AAMkAGE4ZWVlNjI1LTk3NjAtNDFmYy1hZDhkLTU3ZWY0ZjJiMDk5YgBGAAAAAACghEgqiSFAQo8v+Kh2
wPqEBwDoiTH7R3zxTZ+n2OMFzElyAAAAAAEPAADoiTH7R3zxTZ+n2OMFzElyAAAT/OksAAA=

但是在图形浏览器中检查时,ID 实际上是:

AAMkAGE4ZWVlNjI1LTk3NjAtNDFmYy1hZDhkLTU3ZWY0ZjJiMDk5YgBGAAAAAACghEgqiSFAQo8v_Kh2
wPqEBwDoiTH7R3zxTZ_n2OMFzElyAAAAAAEPAADoiTH7R3zxTZ_n2OMFzElyAAAT-OksAAA=

有谁知道我如何修复 saveAsync 方法,以便它提供正确的消息 ID?

通过 EWS 或通过 itemId 属性检索的项 ID 使用的格式与 REST API 使用的格式不同(如 Outlook 邮件 API 或Microsoft图(。convertToRestId 方法将 EWS 格式的 ID 转换为 REST 的正确格式。

您必须将 EWS 格式的项目 ID 转换为 REST 格式

最后,事实证明,清除我的草稿文件夹上的缓存最终有效!(虽然我不知道为什么(

可以使用 saveAsync 返回的 ID 来查询 REST API。Office.mailbox.item.id 方法是需要转换的方法 - saveAsync 方法旨在允许您使用 REST 发送电子邮件。

谢谢你们的帮助! :)

相关内容

最新更新