我想使用EWS托管API获得一个重复系列主ID,该系列主ID知道该系列中的一个出现项。
我找不到与此主题有关的任何文档。
通过阅读以下链接中的文档,我只找到了如何使用C#框架Appointment.BindToRecurringMaster方法做到这一点
我想要的是等效于Appointment.BindToRecurringMaster方法的EWS托管API。
我知道我可以通过使用FindItem获得Recurrence Master对象。但是我看不到从随机事件到Recurrence Master对象的任何联系,所以我不知道如何使用FindItem来查询Recurrence Master对象。
编辑:澄清
BindToRecurringMaster是C#类。我不使用C#。我与EWS的通信是使用SOAP请求完成的。在我看来,该HTTP API是EWS托管API。 C#类是调用API的框架的一部分。
所以对我有帮助的是与BindToRecurringMaster等效的SOAP请求。 他们在文档中提到,我可以使用FindItem SOAP请求来获取Recurring Master对象,而我通过使用带有Recurring Master会议的开始时间和结束时间过滤器的FindItem来成功做到了。
但这不能解决我的问题,因为在应用程序中我只知道重复序列的出现。通过调查出现的对象,我发现与重复出现的主对象没有任何关系。没有指定递归主记录的开始时间和结束时间,我看不到任何其他有用的信息来解决此问题。
我不喜欢的唯一启发式解决方案是调用FindItem,其开始时间等于事件的创建时间,结束时间等于事件的结束时间,因为循环主控很可能位于两者之间。但即使在100%的情况下也不是这样。
如果有BindToRecurringMaster SOAP请求,则找不到任何文档。在那种情况下,指向该文档的链接将是完美的。
编辑:SOAP示例
FindItem响应与出现对象。 我删除了对问题绝对不重要的信息。
<t:CalendarItem>
<t:ItemId Id="AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgFRAAgI1g1CXRKAAEYAAAAAF94qdwW70Uu9RUOXs0JyHgcAnS+YDWucgUuAaZAl+AB8ugAAAAABDQAAnS+YDWucgUuAaZAl+AB8ugAA9PgDXAAAEA==" ChangeKey="DwAAABYAAACdL5gNa5yBS4BpkCX4AHy6AAD2t08v"/>
<t:ParentFolderId Id="AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgAuAAAAAAAX3ip3BbvRS71FQ5ezQnIeAQCdL5gNa5yBS4BpkCX4AHy6AAAAAAENAAA=" ChangeKey="AQAAAA=="/>
<t:ItemClass>IPM.Appointment.Occurrence</t:ItemClass>
<t:LastModifiedTime>2018-08-30T05:35:49Z</t:LastModifiedTime>
<t:WebClientReadFormQueryString>https://outlook.office365.com/owa/?ItemID=AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgFRAAgI1g1CXRKAAEYAAAAAF94qdwW70Uu9RUOXs0JyHgcAnS%2BYDWucgUuAaZAl%2BAB8ugAAAAABDQAAnS%2BYDWucgUuAaZAl%2BAB8ugAA9PgDXAAAEA%3D%3D&exvsurl=1&viewmodel=ReadMessageItem</t:WebClientReadFormQueryString>
<t:ConversationId Id="AAQkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgAQAAgPXhhxcbFKo43FovJ4qw8="/>
<t:UID>040000008200E00074C5B7101A82E008000000001F98A565FA3DD4010000000000000000100000002D5A6D87AF17C34A9ED87D01759B021B</t:UID>
<t:RecurrenceId>2018-08-29T18:30:00Z</t:RecurrenceId>
<t:DateTimeStamp>2018-08-28T09:26:45Z</t:DateTimeStamp>
<t:Start>2018-08-29T18:30:00Z</t:Start>
<t:End>2018-08-29T19:30:00Z</t:End>
<t:IsRecurring>true</t:IsRecurring>
<t:CalendarItemType>Occurrence</t:CalendarItemType>
</t:CalendarItem>
从上面的信息中,我想找到循环主机的itemId。
就我而言,女巫是AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgBGAAAAAAAX3ip3BbvRS71FQ5ezQnIeBwCdL5gNa5yBS4BpkCX4AHy6AAAAAAENAACdL5gNa5yBS4BpkCX4AHy6AAD0+ANcAAA=
。
答案 0 :(得分:0)
也许我丢失了一些东西,但是BindToRecurringMaster 是EWS托管API获取实例实例的方法。您还在寻找什么?
答案 1 :(得分:0)
我发现了我所缺少的。
我应该使用RecurringMasterItemId元素调用GetItem。
<GetItem xmlns="http://schemas.microsoft.com/exchange/services/2006/messages">
<ItemShape>
<t:BaseShape>AllProperties</t:BaseShape>
</ItemShape>
<ItemIds>
<t:RecurringMasterItemId OccurrenceId="AAMkADIwODJiODlkLTk0NmItNGE1My04OGU2LTk2OGQxZDMxMDBjYgFRAAgI1g4Lh3xAAEYAAAAAF94qdwW70Uu9RUOXs0JyHgcAnS+YDWucgUuAaZAl+AB8ugAAAAABDQAAnS+YDWucgUuAaZAl+AB8ugAA9PgDXAAAEA==" />
</ItemIds>
</GetItem>
这是我正在寻找的文档