Я пытаюсь выяснить, был ли уже отправлен адрес электронной почты в моем каталоге B2C Azure AD.Найти пользователя по адресу электронной почты
var token = await this.GetTokenAsync();
var client = new HttpClient();
var id = HttpUtility.UrlEncode("adrian_mydomain.com#EXT#@xxxxxxxxx.onmicrosoft.com");
////var id = HttpUtility.UrlEncode("[email protected]"); // This also fails.
////var id = HttpUtility.UrlEncode("adrian_mydomain.com#EXT#"); // This also fails.
////var id = "xxxx-xxxx-xxxxxxxx-xxxxxxxxxx"; // This also fails (user object id).
var resource = $"{this.graphConfig.GraphUri}/{this.graphConfig.Tenant}/users/{id}?api-version=1.6";
//// This line below works, it returns all the users, so I do know the token is good and the resource URI is valid, etc.
////var resource = $"{this.graphConfig.GraphUri}/{this.graphConfig.Tenant}/users?api-version=1.6";
var request = new HttpRequestMessage(HttpMethod.Get, resource);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", token);
var response = await client.SendAsync(request);
var content = await response.Content.ReadAsStringAsync();
Я кодирую свой адрес электронной почты таким же образом, что и мой электронный адрес, закодированный, когда я получаю всех пользователей. У меня такое чувство, что я близко, если даже можно запросить по электронной почте.
В настоящее время все, что я пробовал, либо возвращает 400, либо 404. Кто-нибудь знает, есть ли способ запроса по электронной почте (имя входа)?
EDIT
На подобную тему, я также пытаюсь запрос изменить пароль пользователя безрезультатно. Я полагаю, что если я могу заставить запрос работать для одного, я могу заставить его работать на другом.
Спасибо, я не включил его в свой вопрос, но я попытался использовать пользовательский объект и не испытываю никакой радости. Однако я могу успешно получить список всех пользователей. –
Добавили пользователей? Скорее всего, проблема с json, которую вы отправили, каково это? –
Да, я могу добавить пользователей в порядке. Я отправляю точно требуемое содержимое, и пользователь создается отлично. Я также могу выполнить запрос GET для всех пользователей. Но все равно невозможно получить детали одного пользователя. –