使用 Microsoft Graph SDK 1.4 NuGet 的增量查询

2024-01-12

我正在尝试使用 .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(使用前将#替换为@)

使用 Microsoft Graph SDK 1.4 NuGet 的增量查询 的相关文章

随机推荐