使用Microsoft Graph API获取组成员时members为空的问题求助
问题解答
为何members集合为空?
Microsoft Graph API 默认不会自动加载关联的实体集合(比如组的members),你当前的请求仅获取了组的基础属性(如DisplayName、Mail),因此members字段会返回null,这是API的默认行为,和权限配置无关。
如何获取该组的所有成员?
有两种可行的实现方式,具体如下:
方式一:请求组时展开members集合
在获取组的请求中添加$expand参数,让API同时返回组的成员数据。代码示例:
ClientSecretCredential clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret); GraphServiceClient graphClient = new GraphServiceClient(clientSecretCredential, scopes); var groups2 = await graphClient.Groups.GetAsync(requestConfiguration => { requestConfiguration.QueryParameters.Filter = "mail eq 'IntranetTest365@xxx.se'"; // 添加Expand参数展开members集合 requestConfiguration.QueryParameters.Expand = new string[] { "members" }; });
注意:如果组内成员数量超过100个,API会返回分页数据,需要通过@odata.nextLink继续请求后续页才能获取全部成员。
方式二:单独调用组的members端点获取
先获取目标组的ID,再通过组ID单独请求成员列表,这种方式更适合成员数量较多的场景,同样需要处理分页:
ClientSecretCredential clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret); GraphServiceClient graphClient = new GraphServiceClient(clientSecretCredential, scopes); // 第一步:获取目标组的ID var targetGroup = await graphClient.Groups.GetAsync(requestConfiguration => { requestConfiguration.QueryParameters.Filter = "mail eq 'IntranetTest365@xxx.se'"; requestConfiguration.QueryParameters.Select = new string[] { "id" }; // 仅获取必要的ID字段 }); if (targetGroup.Value != null && targetGroup.Value.Any()) { string groupId = targetGroup.Value.First().Id; var allMembers = new List<DirectoryObject>(); // 第二步:获取成员列表并处理分页 var membersPage = await graphClient.Groups[groupId].Members.GetAsync(); allMembers.AddRange(membersPage.Value); while (!string.IsNullOrEmpty(membersPage.OdataNextLink)) { membersPage = await graphClient.Groups[groupId].Members.WithUrl(membersPage.OdataNextLink).GetAsync(); allMembers.AddRange(membersPage.Value); } // allMembers 即为该组的所有成员 }
额外注意事项
- 确认你的应用配置的
GroupMember.Read.All是应用权限,而非委托权限。因为你使用的是ClientSecretCredential(客户端凭据流),该认证方式仅支持应用权限,且需要管理员授予同意。 - 无论哪种方式,都必须处理分页逻辑,否则只能获取到第一页的成员数据(最多100条)。
内容的提问来源于stack exchange,提问作者Zealot 0150
相关产品推荐
相关产品推荐

