C# 无法从IUserPeopleCollectionPage类型Dataa MS Graph API中找到部门名称

C# 无法从IUserPeopleCollectionPage类型Dataa MS Graph API中找到部门名称,c#,microsoft-graph-api,C#,Microsoft Graph Api,我正在使用以下代码:- using Microsoft.Graph; using Microsoft.Identity.Client; using System; using System.Collections; using System.Text.RegularExpressions; namespace MSGraphAPI { class Program { privat

我正在使用以下代码:-

    using Microsoft.Graph;
    using Microsoft.Identity.Client;
    using System;
    using System.Collections;
    using System.Text.RegularExpressions;

    namespace MSGraphAPI
    {
        class Program
        {


            private static string clientId = "XXXX";


            private static string tenantID = "XXXXX";


            private static string objectId = "XXXXXXXX";


            private static string clientSecret = "XXXXX";

            static async System.Threading.Tasks.Task Main(string[] args)
            {



                Console.WriteLine(Regex.IsMatch(strToCheck, pattern, RegexOptions.IgnoreCase));

                int Flag = 0;
                var tenantId = "XXXX.onmicrosoft.com";
                        var clientId = "XXXXX";


                var scopes = new string[] { "https://graph.microsoft.com/.default"   };



                var confidentialClient = ConfidentialClientApplicationBuilder
                    .Create(clientId)
                    .WithAuthority($"https://login.microsoftonline.com/XXXX.onmicrosoft.com/v2.0")
                    .WithClientSecret(clientSecret)
                    .Build();


                GraphServiceClient graphServiceClient =
                    new GraphServiceClient(new DelegateAuthenticationProvider(async (requestMessage) => {

            // Retrieve an access token for Microsoft Graph (gets a fresh token if needed).
            var authResult = await confidentialClient
                .AcquireTokenForClient(scopes)
                .ExecuteAsync();

            // Add the access token in the Authorization header of the API request.
            requestMessage.Headers.Authorization =
                new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", authResult.AccessToken);
                    })
                    );

                // Make a Microsoft Graph API query

                var users = await graphServiceClient.Users.Request().GetAsync();




                do
                {
                            foreach (User user in users)
                            {

                            Console.WriteLine(user.DepartmentName);
                            Console.WriteLine(user.DisplayName);

                         var Peoples = await graphServiceClient.Users[user.Id].People.Request().GetAsync();

                        foreach(IUserPeopleCollectionPage People in Peoples)
                        {
                            Console.WriteLine(People.CurrentPage.ToString());
                        }


                        }
                        while (users.NextPageRequest != null && (users = await users.NextPageRequest.GetAsync()).Count > 0);

                        Console.WriteLine("------");


                Console.WriteLine(Flag);
            }
        }
    }
我找不到部门名称

我可以在People中打印其他值,这些值是IUserPeopleCollectionPage类型的数据,其中包含几个值,如DisplayName、Department、CurrentPage(包含10个数据) 基本上,我尝试使用foreach循环数据,但无法得到结果

请提供帮助。

对于v1.0(无测试版)API和SDK,您需要使用请求附加字段()

替换此项:

var-users=await-graphServiceClient.users.Request()
.GetAsync();
为此:

var-users=await-graphServiceClient.users.Request()
.Select(“displayName,department”).GetAsync();

我使用以下代码得到了结果:

var Peoples = await graphServiceClient.Users[user.Id].People.Request().GetAsync();

                            
                                foreach (Person People in Peoples)
                                {
                                    if (People.DisplayName.Equals(user.DisplayName))
                                    {
                                        Console.WriteLine(People.Department);

                                    }

                                }
谢谢大家的支持