【发布时间】:2020-01-12 00:19:27
【问题描述】:
我正在尝试使用 microsoft-graph 从 Outlook/office365 日历中获取一些事件。正如我从结果中注意到的,检索到的事件数为 200,但日历中的事件数更多。因此,根据来自https://docs.microsoft.com/en-us/graph/delta-query-events?tabs=csharp 的信息,我尝试批量获取事件,直到收到@odata.deltaLink 标签并告诉我停止,因为没有其他事件。这里的问题是我不能使用 SkipToken(...) 方法来知道我应该从什么时候接收剩余的事件。
我已经安装了 1.17.0 microsoft-graph 版本(发布数据:Friday, August 16, 2019 (8/16/2019))。
我使用以下代码检索第一批事件:
var events = await graphClient.Me.CalendarView.Delta()
.Request(calendarInterval)
.Header("Prefer", "odata.track-changes")
.GetAsync();
从“events”我得到 events.AdditionalData["@odata.nextLink"] 以便将其用于新呼叫。
从 events.AdditionalData["@odata.nextLink"] 我得到了 skiptoken 代码,以便将其用于以下调用:
var delta = await graphClient.Me.CalendarView
.Delta()
.Request()
.Header("Prefer","odata.track-changes")
.SkipToken("R0usmci39OQxqJrxK4")
.GetAsync();
R0usmci39OQxqJrxK4 -> 是从事件中提取的代码。AdditionalData["@odata.nextLink"]
这里最大的问题是我不能使用 SkipToken() 方法。 我有以下错误,我不知道为什么,因为它使用的是最新版本的 microsoft-graph。
错误:错误 CS1061“IEventDeltaRequest”不包含“SkipToken”的定义,并且找不到接受“IEventDeltaRequest”类型的第一个参数的可访问扩展方法“SkipToken”(您是否缺少 using 指令或程序集引用?)
【问题讨论】: