У меня проблема с фильтрацией событий календаря с использованием конечной точки MS Graph 1.0 calendarView
.
У меня есть фрагмент кода, который использовался для получения событий календаря, измененных за последние 30 минут.Этот код запрашивал Graph, используя calendarView
вместе с $filter
(lastModifiedDateTime ge ...
).
В какой-то момент он вообще перестал давать результаты.Нет ошибокНет предупреждений.Просто пустой набор результатов.
Изначально я отправлял метку времени в формате RFC3339, и она работала просто отлично.
- изменение формата не помогло (но судя по тому, что фильтры используются для другой даты и времениполя отлично работают со многими различными форматами строк, это, вероятно, не проблема)
- заключение строки в кавычки не помогло
- Проводник API также показывает результат без совпадений
- попытка получить событие, совпадающее с точной отметкой времени в идентичной форме, возвращаемой из API с фильтром
lastModifiedDateTime eq ...
, не возвращает совпадений
// w/o filters there are visible results and there is clearly an event with a lastModifiedDateTime attribute set
// https://graph.microsoft.com/v1.0/users/sample@totallyfakecompany.onmicrosoft.com/calendarview?startdatetime=2017-02-15T11:33:06.775Z&enddatetime=2019-02-22T11:33:06.775Z
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('sample%40totallyfakecompany.onmicrosoft.com')/calendarView",
"value": [
{
"@odata.etag": "W/\"rVquutuYEk6b2WKuRzYB9QAAcVQDkg==\"",
"id": "AAMkAGViN2VkNDAxLWY2MzYtNGNiZi05NDEwLTdjNDRjNjA4YzYyNABGAAAAAADn5npXZZY1QrLh_blG0ZIaBwCtWq6625gSTpvZYq5HNgH1AAAAAAENAACtWq6625gSTpvZYq5HNgH1AABxVKXYAAA=",
"createdDateTime": "2018-09-12T13:54:02.8197636Z",
"lastModifiedDateTime": "2018-09-12T13:57:04.4596518Z" ...
// querying for a lastModifiedDateTime greater or equal the events attribute using the exact format of timestamp as the API returns an empty set
// https://graph.microsoft.com/v1.0/users/sample@totallyfakecompany.onmicrosoft.com/calendarview?startdatetime=2017-02-15T11:33:06.775Z&enddatetime=2019-02-22T11:33:06.775Z&$filter=lastModifiedDateTime ge 2018-09-11T13:57:04.4596518Z
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('sample%40totallyfakecompany.onmicrosoft.com')/calendarView",
"value": []
}
// querying for a lastModifiedDateTime equal the actual atrribute value also returns an empty set
// https://graph.microsoft.com/v1.0/users/sample@totallyfakecompany.onmicrosoft.com/calendarview?startdatetime=2017-02-15T11:33:06.775Z&enddatetime=2019-02-22T11:33:06.775Z&$filter=lastModifiedDateTime eq 2018-09-12T13:57:04.4596518Z */
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('sample%40totallyfakecompany.onmicrosoft.com')/calendarView",
"value": []
}
Кто-нибудь знает, что здесь происходит?Либо я что-то упустил, либо что-то могло измениться в MS-графе (странно, поскольку API версионен, а я все еще использую ту же версию = 1.0)