tl; dr

CustomProperties设置为具有与会者的约会时,只有组织者的约会才能获得CustomProperties。该属性不会传播到其他与会者的约会。



较长的版本

当我们创建具有多个参与者的约会,然后以每个参与者身份登录时,我们注意到每个ItemId是不同的。因此,似乎会议中的每个与会者都获得了自己的约会副本。 (真的希望有人确认这是真的)。

但是,从外接程序(使用Outlook JavaScript API)设置自定义属性时,只有组织者的约会才能获得该自定义属性,因为当我们以其他参与者的身份登录时,我们无法看到该自定义属性。

与我们的代码相关的片段:

Office.initialize = function (reason) {
    $(document).ready(function () {
         Office.context.mailbox.item.loadCustomPropertiesAsync (onCustomPropertiesLoaded);
    });
};

function onCustomPropertiesLoaded(asyncResults) {
    _customProps = asyncResults.value;
}

//Set custom properties
_customProps.set("myProp", "true");
_customProps.saveAsync(customPropertiesOnSaved);


有没有一种方法可以使约会的每个副本都具有custom属性?

最佳答案

当我们创建一个约会并有多个参与者,然后以每个参与者身份登录时,我们注意到每个ItemId是不同的。因此,似乎会议中的每个与会者都获得了自己的约会副本。 (真的希望有人确认这是真的)。



是的,没错,约会的与会者副本是该邮箱中的单独新项目。在后端Exchange服务器上,它是一个单独的邮箱存储项目,它们不会以任何方式链接(除了可以用来关联它们的属性之外),并且服务器不会更新与会者邮箱中的约会,因此必须始终由客户端更新进程(对于会议室邮箱,邮箱助手会执行此操作,但这仍然是服务器上运行的客户端进程)。



但是,从外接程序设置自定义属性时,只有组织者的约会才能获得该自定义属性,因为当我们以其他任何参与者的身份登录时,我们无法看到该自定义属性。



这很可能发生,因为您需要先在约会中保存自定义属性,然后再添加任何与会者并发送会议邀请。重要的是,在添加任何与会者之前,首先使用属性(或附件)保存约会,然后在服务器发出邀请时,这些邀请应包含自定义属性(您可以使用Mapi编辑器并查看邀请来检查正在发生的情况)在组织者的“已发送邮件”文件夹中生成)。重要的是要记住,因为约会没有在服务器上链接,更新组织者上的属性不会反映在与会者副本上,除非您发送会议更新,然后会议更新被与会者接受,然后会议更新他们的会议记录。日历。

07-24 09:51
查看更多