如何按用户确定打开的Outlook预约项是通过Office.js在撰写模式下的出现,异常还是主系列?

时间:2016-11-15 07:27:17

标签: office365api office-js office365-apps outlook-web-addins

在通过Office.js撰写模式的日历重复事件(约会)的上下文中,我需要将自定义属性设置为相应的约会主系列项目,或者用户打开的事件是事件,例外或主系列。

这是我通过office.js API遇到的问题,我无法识别用户打开的约会是一个事件,例外或主系列。我该如何识别它?如果它是一个事件或异常,那么如何通过Office.js从当前项上下文向相应的主系列项添加自定义属性。

2 个答案:

答案 0 :(得分:0)

Office.js中没有javascript api来确定约会是主,约会还是例外。 但是,为了执行此操作,您可以使用REST API

GET https://outlook.office.com/api/v2.0/me/events/{event_id}

response将包含EventType(SeriesMaster,Occurence,Exception)和系列主ID(如果是主人,则为null)

,您可以使用makeEwsRequestAsync() API并发送GetItem EWS request

您将从请求中收到的回复将有几个属性可以帮助您:

  • IsRecurring
  • IsException
  • RecurringMasterItemId

然后,您可以使用Recurring Master ItemId使用其他REST API电话或EWS电话

添加自定义媒体资源

答案 1 :(得分:0)

如上所述,很遗憾,API没有提供此信息。但是,您可以使用item->seriesId属性至少将Series master与实例区分开。如果存在该ID,则说明您正在处理的是实例,否则是主机。

请注意,Mac版本中似乎存在一个错误,该错误导致seriesId在那里不可用。参见here