我正在尝试使用 .NET 客户端库(版本 1.4)设置增量查询示例https://www.nuget.org/packages/Microsoft.Graph https://www.nuget.org/packages/Microsoft.Graph)。初始调用很顺利:
var page = await _graphClient.Users.Delta().Request().GetAsync();
while (page.NextPageRequest != null)
{
page = await page.NextPageRequest.GetAsync();
}
一段时间后获取 deltaLink 仍然非常明显:
string deltaLink = (string)page.AdditionalData["@odata.deltaLink"];
但是以后使用这个 deltaLink 的正确方法是什么?我还没有找到明显的方法/构建器,可以让我稍后使用 URL 继续(我当前的解决方案是使用“使用 .Net Microsoft Graph 客户端库发送 HTTP 请求”部分中的代码,网址为https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/docs/overview.md https://github.com/microsoftgraph/msgraph-sdk-dotnet/blob/dev/docs/overview.md并将其转换为 UserDeltaCollectionResponse - 那时我可以再次使用普通的 API)。
我编写了一些代码来获取实际的增量令牌字符串。
Uri deltaUri = new Uri(delta.AdditionalData[deltaLinkKey].ToString());
var queries = System.Web.HttpUtility.ParseQueryString(deltaUri.Query);
string token = queries.Get("$deltatoken");
然后,API 中有一个 QueryOption 对象,您可以将其添加到请求中。所以,上面的代码看起来像这样。
QueryOption deltaOption = new QueryOption("$deltaToken", deltaToken);
var page = await _graphClient.Users.Delta().Request(new[] { deltaOption }).GetAsync();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)