我现在正在尝试列出一个具有GraphApi的AAD组的所有成员。问题是,响应是在70个用户的页面中接收的,即使在文档中指定的是每页100个用户。问题是如何获取一个组的所有用户?我试过这个:
var users = await _graphClient.Groups[id].Members.Request().GetAsync();
while (users.Count > 0)
{
members.AddRange(users.OfType<Microsoft.Graph.User>());
if (users.NextPageRequest != null)
{
users = await users.NextPageRequest
.GetAsync();
}
else
{
break;
}
}但我认为它的性能可能相当糟糕,因为每次计算它时,我们都必须在返回任何结果之前枚举整个结果集。我不能想象在有5000个用户的情况下,它会有什么表现?它将需要大约70个请求,并且响应时间将非常长。有人知道如何在一个请求中返回所有用户或跳过用户计数吗?现在,服务在返回用户列表时支持Skip方法
发布于 2021-02-26 19:19:26
这是根据设计,没有办法在这个端点上一次获取>100。
根据您的场景,有一些选项:
在UX组件中使用
https://stackoverflow.com/questions/66381859
复制相似问题