Office js Outlook JS加载项-撰写表单-如何检查事件/消息是否已保存?

Office js Outlook JS加载项-撰写表单-如何检查事件/消息是否已保存?,office-js,outlook-web-addins,Office Js,Outlook Web Addins,Outlook外接程序(office.js)的撰写表单中是否有方法检查表单后面的对象(在我的例子中是日历事件)是否已保存?检查ItemId;如果未定义,则消息未存储;如果消息存在,则消息来自草稿。请参阅 编辑: 我不想完全删除答案,因为Tim Wan在评论中提供了宝贵的意见。基本上,无法确定消息是否在Exchange上持久化,也无法检查ItemId是否在compose表单中不起作用 是的,我检查了,但是根据文档itemId属性在撰写模式下不可用。事实上,它在撰写表单中一直是未定义的,至少在OWA

Outlook外接程序(office.js)的撰写表单中是否有方法检查表单后面的对象(在我的例子中是日历事件)是否已保存?

检查ItemId;如果未定义,则消息未存储;如果消息存在,则消息来自草稿。请参阅

编辑:
我不想完全删除答案,因为Tim Wan在评论中提供了宝贵的意见。基本上,无法确定消息是否在Exchange上持久化,也无法检查ItemId是否在compose表单中不起作用

是的,我检查了,但是根据文档
itemId属性在撰写模式下不可用。
事实上,它在撰写表单中一直是
未定义的
,至少在OWAIt中也适用于撰写,我们使用此方法检查项目是否已保存,如果未保存,我们将保存它,获取ItemId并将其用于EWS请求。尝试打开草稿中的邮件,您将定义ItemId,这意味着邮件已在Exchange中持久化。我不确定Slava如何从compose中获取ItemId?该属性在组合项上确实不可用。(在读取模式下可用)。斯拉瓦,也许你可以分享你的代码?我知道在compose中获取EWSId的唯一方法是调用saveAsync。目前没有办法确定窗体后面的对象是否已保存。@TimWan是的,你说得对,它总是未定义的。我发誓它在回去的时候起作用了,好吧,有些事情改变了。对不起,我的回答有误导性。我会修改它。@alekkowalczyk对我来说正好相反:我确信无法区分约会的创建和更新(这个问题在MSDN论坛上弹出了几次)从未看到答案;由于与Exchange同步的问题,您肯定能够做到。在“SaveAsync”方法返回ItemId后,在“makeEwsRequestAsync”中使用它,并使用此Id发送请求,以获得某物/无。如果您将返回Exchange上保留的项目“ChangeKey”(真正的IMessage),如果返回错误“Id不可识别”,则它是新的邮件项目,尚未保留。几秒钟后(~20秒)您是否设法以撰写形式获取了已保存项目的ID,我也面临同样的问题。我想区分新打开的会议和已保存的会议,并且在输入会议主题之前我不想调用saveDraft(因为它不必要地保存了会议)。不幸的是,因此,我不得不改变集成的逻辑,这样我就不需要这些信息了。。。