use*_*953 1 c# list azure azure-active-directory
我想将一个对象转换为列表,以便我可以迭代这些项目,如何做到这一点?成员变量返回 IGroupMembersCollectionWithReferencesPage。我怎样才能将其转换为列表?
var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret, options); var graphClient = new GraphServiceClient(clientSecretCredential, 范围);
try
{
// convert members to a list or collection
var members = await graphClient.Groups["group-id"].Members.Request().GetAsync();
return new JsonResult(members);
}
catch (Exception ex)
{
Logger.Warning(ex.Message);
throw;
}
Run Code Online (Sandbox Code Playgroud)
要从 Azure AD 转换为列表,请尝试user2250152在此SO 线程中
IGroupMembersCollectionWithReferencesPage提到的以下脚本,如下所示:
List<User> users = new List<User>();
var groupMembers = await Graph.Groups[groupId].Members.Request().GetAsync();
users.AddRange(groupMembers.CurrentPage.OfType<User>());
while(groupMembers.NextPageRequest!=null)
{
groupMembers = await groupMembers.NextPageRequest.GetAsync();
users.AddRange(groupMembers.CurrentPage.OfType<User>());
}
Run Code Online (Sandbox Code Playgroud)
或者,您可以尝试在此SO Thread中使用Tony Ju编写的以下脚本:
IGroupMembersCollectionWithReferencesPage lstOfAdusers = graphServiceClient.Groups["groupID"].Members.Request().GetAsync().Result;
var memberoflist=graphServiceClient.Users["userID"].MemberOf.Request().GetAsync().Result;
Run Code Online (Sandbox Code Playgroud)
请检查以下参考是否为您提供指导:
C# Azure AD Graph 获取超过 20 人的组的所有成员 作者:Tom Sun - MSFT