为所有与会者预约时设置CustomProperties

时间:2016-08-29 23:11:53

标签: ms-office outlook-addin exchangewebservices office-addins office-js

TL;博士

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);

有没有办法让每个约会副本都有自定义属性?

1 个答案:

答案 0 :(得分:3)

  
    

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

  

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

  
    

但是,从我们的加载项设置自定义属性时,只有组织者的约会才会获取自定义属性,因为当我们以任何其他与会者身份登录时,我们无法看到自定义属性。

  

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