Microsoft Graph filter vs $filter



我正在使用Microsoft Graph Explorer测试过滤。我注意到我不知道的奇怪行为。

使用端点https://graph.microsoft.com/v1.0/me/events?filter=start/dateTime%20ge%20%272018-04-01%27我可以正确过滤数据。

但是,使用已记录的$前缀,https://graph.microsoft.com/v1.0/me/events?$filter=start/dateTime%20ge%20%272018-04-01%27,我什么也没得到。没有错误,只是没有数据回来。

如何使用$filter查询数据?

您实际上并没有得到自己认为自己的结果。当Microsoft Graph看到它没有预期的查询参数时,它就忽略了它。

当您致电/events?filter=start/dateTime ge '2018-04-01'时,它只是忽略未知的filter参数,然后返回未过滤结果。

当您致电/events?filter=start/dateTime ge '2018-04-01'时,它将在2018年4月1日之前过滤出任何内容。如果在此日期之后没有start的事件,则您将获得一个空数组。

我假设您正在使用Graph Explorer随附的默认数据集?默认的Graph Explorer数据集的最新event2017-11-16T08:00:00.0000000

您从/calendarView端点看到结果的原因,而/events端点不是/events仅返回单个实例会议和系列大师,而/celandarView则显示在日期范围内的所有内容。为了避免必须维护具有更新事件的数据集,演示数据依赖于少数经常出现的event条目。

由于 events没有返回会议的单个出现,因此您看不到查询的任何结果。

如果您尝试此查询,您将看到实际结果:

https://graph.microsoft.com/v1.0/me/events?$filter=start/dateTime ge '2017-04-01'

最新更新