Вот код просмотра из первого приложения -
Код: Выделить всё
public static async Task ListUsers(GraphServiceClient graphClient)
{
Console.WriteLine("Getting list of users...");
// Get all users (one page)
var result = await graphClient.Users
.Request()
.Select(e => new
{
e.DisplayName,
e.Id,
e.Identities,
e.BusinessPhones
})
.GetAsync();
// Calculate maximum lengths
int maxDisplayNameLength = result.CurrentPage.Max(u => u.DisplayName.Length);
int maxIdLength = result.CurrentPage.Max(u => u.Id.Length);
int maxEmailLength = result.CurrentPage
.Where(u => u.Identities.Any(i => i.SignInType == "emailAddress")) // Filter users with email addresses
.Select(u => u.Identities.FirstOrDefault(i => i.SignInType == "emailAddress")?.IssuerAssignedId)
.Where(email => email != null)
.Max(email => email.Length);
bool isFirst = true;
foreach (var user in result.CurrentPage)
{
// Get email if available
string email = user.Identities.FirstOrDefault(i => i.SignInType == "emailAddress")?.IssuerAssignedId;
// If user has no email, skip to the next iteration
if (email == null)
continue;
// Get phone numbers
string phoneNumbers = string.Join(", ", user.BusinessPhones);
if (isFirst)
{
Console.WriteLine("------------------------");
isFirst = false;
}
// Format output with alignment based on maximum lengths
Console.WriteLine($"DisplayName: {user.DisplayName.PadRight(maxDisplayNameLength)}");
Console.WriteLine($"Id: {user.Id.PadRight(maxIdLength)}");
Console.WriteLine($"Email: {email?.PadRight(maxEmailLength) ?? string.Empty}");
Console.WriteLine($"Phone Numbers: {phoneNumbers}"); // Display phone numbers
Console.WriteLine("------------------------"); // Add a line separator
}
}
Код: Выделить всё
`static async Task ListUsers()
{
var scopes = new[] { "https://graph.microsoft.com/.default" };
var tenantId = "...";
var clientId = "...";
var clientSecret = "...";
var clientSecretCredential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(clientSecretCredential, scopes);
try
{
// Retrieve users from Microsoft Graph
var users = await graphClient.Users.Request().GetAsync();
// Display user details
foreach (var user in users)
{
Console.WriteLine($"Display Name: {user.DisplayName}");
Console.WriteLine($"Given Name: {user.GivenName}");
Console.WriteLine($"Surname: {user.Surname}");
Console.WriteLine($"Email Address: {user.Mail}");
Console.WriteLine($"Business Phone Number: {user.BusinessPhones?[0]}");
Console.WriteLine();
}
}
catch (Exception ex)
{
Console.WriteLine($"Error listing users: {ex.Message}");
}
}`
Подробнее здесь: https://stackoverflow.com/questions/784 ... ure-ad-b2c
Мобильная версия