如何将 IGroupMembersCollectionWithReferencesPage 从 Azure AD 转换为 C# 中的列表/集合?

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)

Sri*_*evi 5

要从 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