Azure AD B2B API を使用して Office 365 テナントにゲスト ユーザーを招待しようとしていますが、招待が送信されるとすぐにゲスト ユーザーの HireDate プロパティを設定することを目的としています。私にとって、ゲストが招待状を引き換える必要はありません。問題は、ゲストが招待を引き換えるかどうかに関係なく、hireDate プロパティを更新するようにユーザーにパッチを適用しようとすると、コードが失敗する (エラー メッセージ: AD でユーザーの存在を確認できません) ことです。招待を送信してから 1 分ほど待ってから、ユーザーにパッチを適用しようとすると、問題は発生しません。待たずにこのプロパティを設定するにはどうすればよいですか?
これを解決するために、再試行ロジックを実装しようとしましたが、これは信頼できません。
var token = extranetHelper.GetAuthToken(); //Custom class to get token
var guestEmail = "abc@abc.com";
var siteURL = "https://tenant.sharepoint.com/sites/abc";
var displayName = "";
Invitation guestInvitation =
GraphUtility.InviteGuestUser(token.AccessToken, guestEmail, siteURL, "", displayName);
var guestUserId = guestInvitation.InvitedUser.Id;
var graphUrl = "https://graph.microsoft.com/beta/users/" + guestUserId;
var body = "{\"hireDate\" : \"" + DateTime.UtcNow.ToString("yyyy-MM-ddTHH:mm:ssZ") + "\"}";
var response = GraphHttpClient.MakePatchRequestForString(graphUrl, JsonConvert.DeserializeObject(body), "application/json", token.AccessToken);
Azure AD で新しく作成されたゲスト ユーザーに対して、hireDate プロパティを設定する必要があります。