我正在尝试使用office 365 rest API(http://msdn.microsoft.com/en-us/library/office/dn792114(v=office.15).aspx#sectionSection3)来检索特定日期的用户日历事件。目前我正在运行以下查询:
?https://outlook.office365.com/ews/odata/Me/Events $选择=开始,结束,IsAllDay,受试者安培; $滤波器=开始+ GE + 2014-09-10T05%3A00%3A00Z +和+开始+了+ 2014-09-11T04%3A59 %3A59Z
这适用于'SingleInstance'和'SeriesMaster'类型会议实例;但是,我看到经常性会议有一些奇怪的行为。对于某些用户,API调用不会返回任何“事件”类型会议(定期会议的特定事件);即使会议在OWA门户中的日历上显示。其他用户按预期看到定期和非定期会议。
作为测试,我创建了定期会议,并邀请报告问题的用户和获得预期响应的用户,然后再次为所有用户运行查询。该会议遵循上述模式,用户要么看到所有预期的事件,要么没有重复出现的会议事件。
还有其他人遇到过这个吗?是否有更好的方法来获取特定日期范围内的所有会议活动?
答案 0 :(得分:1)
谢谢你的提问!您可以使用粗体标记的以下更改来尝试查询吗?
https://outlook.office365.com/ews/odata/Me/Events $选择=开始,结束,IsAllDay,受试者安培; $滤波器= <强>结束强> + GE + 2014-09-10T05%3A00%3A00Z +和+开始+了+ 2014-09-11T04%3A59%3A59Z
除了单个会议之外,还会返回所有出现在您指定的时间范围内的定期会议。话虽如此,我们知道在指定时间段内检索所有事件(单个和重复出现的会议事件)的当前方法并不直观,并且正在努力解决这个问题。
如果您有任何疑问或需要更多信息,请与我们联系。
谢谢,
Venkat
答案 1 :(得分:1)
将第一个参数的名称更改为“结束”,即:
?https://outlook.office365.com/ews/odata/Me/Events $选择=开始,结束,IsAllDay,受试者安培; $滤波器=结束+ GE + 2014-09-10T05%3A00%3A00Z +和+开始+了+ 2014-09-11T04%3A59 %3A59Z
我知道,这很奇怪但是在日期范围内检索完整事件列表的唯一方法是先使用“结束”参数,然后再按“开始”。
$ filter =结束ge {0}和开始文件{1}
注意:API可能会在不久的将来发生变化,但这些都不会适用。