私のAzure AD B2Cディレクトリに電子メールアドレスがすでに登録されているかどうか調べています。電子メールアドレスでユーザを検索
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
、私も無駄にユーザーのパスワードを変更するには、クエリをしようとしています。私はクエリを1つのために働かせることができると私は、私はそれを他の上で働くことができると思う。
ありがとう、私は私の質問にそれを含めていないが、私はユーザーオブジェクトを使用して試しても、喜びを取得していません。私はしかし、すべてのユーザーのリストを正常に取得できます。 –
ユーザーを追加できますか?あなたが送信したjsonの問題の可能性が最も高いですが、それはどうですか? –
はい私はユーザーをうまく追加できます。私は正確に必要なコンテンツを送信し、ユーザーは正常に作成されます。また、すべてのユーザーに対してGETリクエストを行うこともできます。しかし、依然として単一のユーザーの詳細を取得することはできません。 –