在通过 Office.js 在撰写模式下的日历重复事件(约会)的上下文中,我需要为相应的约会主系列项目设置自定义属性,或者用户打开的事件是发生、异常或主系列。
这是我通过 office.js API 面临的问题是,我无法识别用户打开的约会是事件、异常还是主系列。我怎样才能识别它?如果这是一个事件或异常,那么我如何通过 Office.js 从当前项目上下文将自定义属性添加到相应的主系列项目。
在通过 Office.js 在撰写模式下的日历重复事件(约会)的上下文中,我需要为相应的约会主系列项目设置自定义属性,或者用户打开的事件是发生、异常或主系列。
这是我通过 office.js API 面临的问题是,我无法识别用户打开的约会是事件、异常还是主系列。我怎样才能识别它?如果这是一个事件或异常,那么我如何通过 Office.js 从当前项目上下文将自定义属性添加到相应的主系列项目。
如前所述,遗憾的是 API 不提供此信息。但是,您可以使用该item->seriesId
属性至少将 Series Master 与实例区分开来。如果 id 存在,您正在处理一个实例,否则是一个主实例。
请注意,Mac 版本中似乎存在一个错误,导致seriesId
那里不可用。看这里
Office.js 中没有用于确定约会是主约会、重复约会还是异常约会的 javascript api。但是,为了做到这一点,您可以使用REST API:
GET https://outlook.office.com/api/v2.0/me/events/{event_id}
响应将包括 EventType (SeriesMaster,Occurence,Exception) 和系列主机 ID(如果是主机,则为 null)
或者,您可以使用makeEwsRequestAsync() API并发送GetItem EWS 请求。
您将从请求中收到的响应将具有几个可以帮助您解决此问题的属性:
然后,您可以使用 Recurring Master ItemId 通过其他REST API调用或 EWS 调用添加自定义属性