0

我想列出两个日期之间的 MS Graph CalendarView 事件。我使用这些查询选项:

List<Option> options = new LinkedList<Option>();
options.add(new QueryOption("startDateTime", viewStart.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)));
options.add(new QueryOption("endDateTime", viewEnd.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME)));
options.add(new QueryOption("$orderBy", "start/dateTime"));
options.add(new HeaderOption("Prefer", "outlook.timezone=\"" + timeZone + "\""));

EventCollectionPage eventPage = graphClient.users(eventsRequest.getUserId())
    .calendarView()
    .buildRequest(options)
    .select("subject,start,end,categories,attendees,iCalUId,id,bodyPreview")
    .top(25)
    .get();

但是我得到了日历用户的所有事件,显然没有考虑 startDateTime 和 endDateTime。我不明白我在这里做错了什么?

根据 Microsoft [List CalendarView][1] 文档,应将 ISO 8601 格式用于 startDateTime 和 endDateTime。

打印 startView 和 endView:

viewStart.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME) --> 2022-01-01T00:00:00+01:00

viewStart.format(DateTimeFormatter.ISO_OFFSET_DATE_TIME) --> 2024-01-01T00:00:00+01:00

所以,日期格式正确,所以我想知道为什么不考虑这些 QueryOptions ?

4

0 回答 0