Вот пример консоли net core 2.1
Имеются разрешения для делегирования и приложения. Delegated - это всплывающее окно, требующее пользователя, приложение выполняется через субъект-службу (и может быть сделано неинтерактивно / автоматически).
Шаг 2 в приведенном выше примере использует разрешение User.Read.All
. Это дает вам адрес электронной почты, а также кучу другой информации о ваших пользователях. Это слишком излишне, если вам просто нужна электронная почта. User.ReadBasic.All
- гораздо лучшее разрешение для регистрации приложения для ваших целей. (Пример должен работать, если вы измените разрешения на User.ReadBasic.All
)
В последней части примера (вставлено ниже ), вы захотите изменить запрос и, скорее всего, захотите добавить итератор.
GraphServiceClient graphClient = GetAuthenticatedGraphClient(config);
List<QueryOption> options = new List<QueryOption>
{
new QueryOption("$top", "1")
};
var graphResult = graphClient.Users.Request(options).GetAsync().Result;
Console.WriteLine("Graph SDK Result");
Console.WriteLine(graphResult[0].DisplayName);
Graph и MSAL на первый взгляд могут показаться сложными, но они очень ценны. Microsoft регулярно добавляет функциональность (и функции) в график. График 1.0 Документы