API календаря Microsoft Graph не возвращает повторяющиеся события календаря

Я использую CalendarView API Microsoft Graph. На основе официальной документации: https://graph.microsoft.io/en-us/docs/api-reference/beta/api/user_list_calendarview

Я сделал это:

GET https://graph.microsoft.com/beta/me/calendarview?startDateTime=2016-9-07&endDateTime=2016-10-02    

Однако я не вижу повторяющихся событий. Я вижу, что другие события происходят до и после повторяющихся.

Дополнительная информация после первоначальной публикации: проблема возникает, если диапазон дат выходит за границу недели. Например, у меня есть повторяющееся событие 08.09.2016. Если я установлю дату начала на 07.09.2016 и дату окончания на 10.09.2016, это сработает, но если я установлю дату окончания на 2016. -09-11, события не появятся.


person Miaosen Wang    schedule 02.09.2016    source источник
comment
@MichaelMainer-MSFT Привет, Миша, спасибо за внимание. Я обнаружил, что если диапазон дат выходит за недельную границу, повторяющиеся события исчезают. Например, у меня есть повторяющееся событие 08.09.2016. Если я установлю дату начала на 07.09.2016 и дату окончания на 10.09.2016, это сработает, но если я установлю дату окончания на 2016. -09-11, события не появятся. PS. Я использую бета-API.   -  person Miaosen Wang    schedule 07.09.2016
comment
Сколько результатов возвращается? Сколько результатов вы ожидаете? Размер страницы по умолчанию — 10.   -  person Michael Mainer    schedule 08.09.2016
comment
@МайклМайнер-MSFT. Спасибо, что подняли этот вопрос. Я только что заметил свойство @odata.nextLink, когда результат выводится на страницу. Перейдя по ссылке, получив все результаты, проблема устранена. Думаю, я ожидал, что выведенные на страницы результаты будут отсортированы, но я не должен был делать такое предположение, не имея OrderBy в запросе. Большое тебе спасибо.   -  person Miaosen Wang    schedule 09.09.2016


Ответы (2)


@Michael Mainer помог определить основную причину:

API календаря имеет размер страницы по умолчанию 10. Чтобы получить все результаты, следует следовать свойству «@odata.nextLink». Постраничные результаты не сортируются по дате начала, если специально не добавлен параметр «OrderBy».

person Miaosen Wang    schedule 08.09.2016

Поскольку Miaosen Wang упоминает, что размер страницы по умолчанию равен 10. В качестве обходного пути вы можете увеличить размер страницы, добавив в запрос параметры "orderby" и "top".

параметры:

$orderby=start/dateTime DESC
$top=100

например

GET https://graph.microsoft.com/beta/me/calendarview?startDateTime=2016-9-07&endDateTime=2016-10-02&%24$orderby=start/dateTime%20DESC"&%24top=100  
person Slipstream    schedule 09.11.2018