【问题标题】:How to get user names of all groups using Microsoft Graph API?如何使用 Microsoft Graph API 获取所有组的用户名?
【发布时间】:2021-02-21 23:12:25
【问题描述】:

我想使用 Graph API 读取所有组的所有成员名称

我的方法

var unternehmen = await graphManager
    .Client
    .Groups
    .Request()
    .Expand("members")
    .GetAsync();

foreach (var gruppe in unternehmen)
{
    Debug.Log("  " + gruppe.Id + " " + gruppe.DisplayName);

    foreach (var member in gruppe.Members)
    {
         Debug.Log(member.Id);
    }         
}

回应

只有成员 ID 和所有组名

我需要的是所有组的所有名称。我怎样才能得到这些?

【问题讨论】:

标签: c# azure azure-active-directory microsoft-graph-api


【解决方案1】:

您需要先将成员强制转换为 Microsoft.Graph.User,因为并非所有成员都是用户。

GET https://graph.microsoft.com/v1.0/groups/{id}/members/microsoft.graph.user

C#代码:

var groups = await graphClient.Groups
    .Request()
    .Expand("members")
    .GetAsync();

foreach (var gruppe in groups)
{
    Console.WriteLine($"{gruppe.Id}, {gruppe.DisplayName}");

    // another method to get members
    // var members = await graphClient.Groups[gruppe.Id].Members.Request().GetAsync();
    
    var members = gruppe.Members;
    var userMembers = members.Where(m => m.ODataType == "#microsoft.graph.user").Cast<User>();
    foreach (User user in userMembers)
    {
        Console.WriteLine($"{user.Id}, {user.DisplayName}");
    }

}

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    相关资源
    最近更新 更多