繁体   English   中英

Microsoft 图表列出组的成员

[英]Microsoft graph list memebers of a group

我现在正在尝试使用 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个请求,响应时间会很长。 有人知道如何在一个请求中返回所有用户或跳过用户计数吗? 返回用户列表时服务现在支持跳过方法

按照设计,无法在此端点上一次获取 >100。

根据您的情况,有一些选项:

  • 列表用于 UX 组件:然后我将实现与此端点相同的分页/过滤器限制。
  • 列表用于处理所有成员:然后我将创建一个异步架构来处理命令。 就像一个队列和一个 function。 (查看可以扇出的耐用 function。)提供命令的状态。 因此用户可以监控命令的进度。 在做其他事情的时候。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM