Office js 在outlook mail中发送邮件后,itemId正在更改
在撰写模式下,我在Office js 在outlook mail中发送邮件后,itemId正在更改,office-js,outlook-web-addins,Office Js,Outlook Web Addins,在撰写模式下,我在saveAsync之后获取邮件项目的itemId 邮件项目发送后,进入Office.context.mailbox.item.itemId的项目Id与在撰写模式下给出的项目不同 用于在撰写模式下获取itemId的代码: var itemId=Office.context.mailbox.item.itemId; if(itemId==null | | itemId==未定义){ Office.context.mailbox.item.saveAsync(函数(结果){ item
saveAsync
之后获取邮件项目的itemId
邮件项目发送后,进入Office.context.mailbox.item.itemId的项目Id
与在撰写模式下给出的项目不同
用于在撰写模式下获取itemId
的代码:
var itemId=Office.context.mailbox.item.itemId;
if(itemId==null | | itemId==未定义){
Office.context.mailbox.item.saveAsync(函数(结果){
itemId=result.value;
});
}
发送电子邮件后,我使用以下方法从发送框验证电子邮件的itemId
:
`Office.context.mailbox.item.itemId`
令我惊讶的是,情况有所不同
根据,项目ID的itemId
应该是相同的:
itemId
属性在撰写模式下不可用。如果需要项目标识符,可以使用saveAsync
方法将项目保存到存储区,这将在回调函数的AsyncResult.value
参数中返回项目标识符
我做错了什么?首先,重要的是要理解项的
itemId
不是静态值。每当在Exchange中移动项目时,ID都会更改。从:
交换中的标识符是不透明的。例如,EwsId是从几条信息创建的,这些信息对开发人员来说并不重要,但对交换很重要
至于发生这种情况的原因,是因为
saveAsync
将导致电子邮件保存到草稿文件夹。发送时,项目首先移动到发件箱,然后移动到“已发送项目”文件夹。每个文件夹更改(草稿、发件箱和已发送项目)都会导致itemId
字段的更改 因此,如果我想在使用outlook rest api发送电子邮件后检索电子邮件,我需要做什么?您可以尝试的预览,它可能会解决此问题。谢谢,我希望保留在可用的outlook rest api内。预览有点太前沿了。