我正在尝试使用office-js编写Outlook加载项,这涉及保存电子邮件,然后再使用MS Graph API发送。
为此,我有saveAsync
方法here,该方法应将当前打开的电子邮件另存为草稿,并返回其ID。然后,我应该可以通过调用POST /me/messages/{id}/send
但是,我发现saveAsync
返回的ID与草稿文件夹中实际存在的ID略有不同。
例如,我最近一次使用save Async的尝试给了我
AAMkAGE4ZWVlNjI1LTk3NjAtNDFmYy1hZDhkLTU3ZWY0ZjJiMDk5YgBGAAAAAACghEgqiSFAQo8v+Kh2
wPqEBwDoiTH7R3zxTZ+n2OMFzElyAAAAAAEPAADoiTH7R3zxTZ+n2OMFzElyAAAT/OksAAA=
但是在Graph资源管理器中检查时,该ID实际上是:
AAMkAGE4ZWVlNjI1LTk3NjAtNDFmYy1hZDhkLTU3ZWY0ZjJiMDk5YgBGAAAAAACghEgqiSFAQo8v_Kh2
wPqEBwDoiTH7R3zxTZ_n2OMFzElyAAAAAAEPAADoiTH7R3zxTZ_n2OMFzElyAAAT-OksAAA=
有人知道我该如何解决saveAsync方法,以便它提供正确的消息ID?
答案 0 :(得分:1)
项目ID使用的格式与REST API使用的格式不同(例如Outlook Mail API或Microsoft Graph)。 convertToRestId方法将EWS格式的ID转换为REST的正确格式。
答案 1 :(得分:0)
最后,事实证明,清除草稿文件夹中的缓存终于可以了! (尽管我不确定为什么)
可以使用saveAsync返回的ID来查询REST API。 Office.mailbox.item.id方法是一种需要转换的方法-saveAsync方法旨在允许您使用REST发送电子邮件。
感谢帮助人员! :)