我目前正在处理日历活动,我想仅在两个日期之间获取活动。 我想在msgraph api中使用比较运算符'le',但它无法正常工作。它似乎像'lt'一样工作。我对'ge'没有问题。
这是我的json事件开始/结束日期:
"start": {
"dateTime": "2017-06-13T12:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2017-06-13T15:00:00.0000000",
"timeZone": "UTC"
}
这是我的问题:
https://graph.microsoft.com/v1.0/groups/{groupId}/events?$filter=(start/dateTime ge '2017-06-13' and end/dateTime le '2017-06-13')
此查询不返回任何内容!我只尝试了开始日期或结束日期,但结果相同。
有谁能告诉我这个问题有什么问题?
答案 0 :(得分:1)
我猜测问题的一部分是你在开始时间和结束时间都使用相同的值。请注意,这并不意味着“6月13日的任何事件”。相反,它意味着“任何其开始时间大于或等于2017-06-13 00:00:00 UTC
并且其结束时间小于或等于2017-06-13 00:00:00 UTC
的事件”。我无法解释为什么只尝试开始日期不起作用。
类似的查询在Graph Explorer中适用于我:https://developer.microsoft.com/en-us/graph/graph-explorer?request=me/events?$filter=start/dateTime ge '2016-06-01' and end/dateTime le '2016-06-02'&method=GET&version=v1.0。
但请注意,您可能真正需要的是calendarView
。 events
是事件的原始列表,calendarView
需要重复考虑。
答案 1 :(得分:1)
参数," start / dateTime"和"结束/日期时间"基本上是dateTime值of a single point of time。
因此,当您执行比较"(开始/日期时间' 2017-06-13'和结束/日期时间le' 2017-06-13')&# 39;对于日期" 2017-06-13",它实际上将其比作"(开始/日期时间ge' 2017-06-13T00:00:00.0000000'和结束/日期时间le' 2017-06-13T00:00:00.0000000')"。
因此,如果您需要获取上述记录,请使用
更新查询imageView.transform = .identity
答案 2 :(得分:0)
通常,对于此类操作,您应使用CalendarView而不是Events。 CalendarView将返回用户通常在Outlook中看到的相同结果。
此外,在寻找一天时,您需要指定时间,否则它将仅返回在午夜开始和结束的约会。或者,你可以在没有时间(即午夜到午夜)的情况下使用第二天:
' https://graph.microsoft.com/v1.0/me/calendarview?startdatetime=2017-06-13&enddatetime=2017-06-14'