Получить пользователя по адресу электронной почты с помощью Microsoft Graph APIC#

Место общения программистов C#
Anonymous
Получить пользователя по адресу электронной почты с помощью Microsoft Graph API

Сообщение Anonymous »

Я пытаюсь получить информацию, существует ли пользователь (используя адрес электронной почты) в Azure AD или не используя Microsoft Graph API (версия 5.17.0).

Код: Выделить всё

 var myself = await _graphServiceClient.Me.GetAsync();  // This Code Works

var user = await _graphServiceClient.Users.GetAsync(c =>
{
c.QueryParameters.Select = new[] { "mail" };
c.QueryParameters.Top = 1;
c.QueryParameters.Filter = $"mail eq {userEmail}";
})!.Value?.FirstOrDefault();  // This doesn't work
Я получаю исключение типа «Microsoft.Graph.Models.ODataErrors.ODataError».
Вот мои настройки в appsettings. json

Код: Выделить всё

  "GraphApi": {
"BaseUrl": "https://graph.microsoft.com/v1.0",
"Scopes": "User.Read.All"
}
Кроме того, я предоставил разрешения Users.Read.All на портале Azure
[img]https://i.sstatic. net/jzDd4.png[/img]

Вот мой код во время настройки

Код: Выделить всё

services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration)
.AddMicrosoftGraph(Configuration.GetSection("GraphApi"))
.AddInMemoryTokenCaches();
Не могу понять, чего еще мне не хватает.

Подробнее здесь: https://stackoverflow.com/questions/766 ... -graph-api

Вернуться в «C#»