在MSGraph Dot Net中获取日历事件时,QueryOptions被忽略

时间:2019-06-24 16:58:05

标签: c# microsoft-graph microsoft-graph-sdks microsoft-graph-calendar

我正在尝试获取用户今天的日历事件。因此,我添加了一些查询参数,但是它们被忽略了,并且图形客户端返回用户的事件,就像我没有提供任何参数(startatetime)一样:

var options = new QueryOption[]
{
    new QueryOption("startdatetime", DateTime.UtcNow.ToString("o")),
    new QueryOption("enddatetime", DateTime.UtcNow.AddDays(1).ToString("o")),
};
var events = await graphServiceClient
    .Me
    .Calendar
    .Events
    .Request(options)
    .GetAsync();

我在图形浏览器中对其进行了测试,并且效果很好。但是在sdk中,它会返回从今天开始的日历事件。

1 个答案:

答案 0 :(得分:2)

您的代码等同于调用:

`/events?startdatetime={dateTime}&enddatetime={dateTime}`. 

那是一个有效的端点,但是您传递的是无效的查询参数。您正在寻找的是calendarView

`/calendarView?startdatetime={dateTime}&enddatetime={dateTime}`

使用SDK,如下所示:

var options = new QueryOption[]
{
    new QueryOption("startDateTime", DateTime.UtcNow.ToString("o")),
    new QueryOption("endDateTime", DateTime.UtcNow.AddDays(1).ToString("o")),
};

var events = await graphServiceClient
    .Me
    .CalendarView
    .Request(options)
    .GetAsync();