私はMicrosoft Graphを使ってプレイしており、REST APIを直接(SDKなしで)使用してアプリケーションからAzure Active Directoryにアクセスしています。userPrincipalNameのゲストユーザをMicrosoft Graphで取得
documentationによると、私はid
またはuserPrincipalName
/users/{id | userPrincipalName}
を使用してからユーザーを取得することができるはずです。
これは実際には機能していますが、ゲストユーザーでは機能していません。ゲストユーザーのuserPrincipalName
はname_originaldomain#EXT#@mydomain.onmicrosoft.com
のようなもので、ユーザー結果を取得しようとすると404 Not Found
になります。
これは私が現在使用していますコードです:
graphClient = new HttpClient();
graphClient.BaseAddress = new Uri("https://graph.microsoft.com/v1.0/");
graphClient.DefaultRequestHeaders.Add("Authorization", $"{token.TokenType} {token.AccessToken}");
HttpRequestMessage request = new HttpRequestMessage(
HttpMethod.Get,
$"users/{Uri.EscapeUriString(username)}"
);
HttpResponseMessage response = await graphClient.SendAsync(request);
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsAsync<UserResult>();
}
// I am here with a 404
が、私は何かが足りないか、何か間違ったことをやっていますか?
は、私は電子メールでユーザーを検索することができます知っている、そしてそれは私が現在、お客様のユーザーのための場所に置く回避策ですが、私は(UPNから電子メールを取得恐れます私が持っている唯一の情報)は、将来の堅牢な状況ではありません。 –