Как установить свойство hireDate гостевого пользователя, как только приглашение будет отправлено через API Azure AD B2B? - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь пригласить гостевого пользователя в моем клиенте Office 365 с помощью API-интерфейса Azure AD B2B, и намерение установить свойство hireDate гостевого пользователя сразу после отправки приглашения.Для меня не обязательно, чтобы гость выкупил приглашение.Проблема заключается в том, что код завершается ошибкой (с сообщением об ошибке: Невозможно проверить существование пользователя в AD), когда я пытаюсь пропатчить пользователя, чтобы он обновлял свойство hireDate независимо от того, был ли гость выкуплен по приглашению или нет.Проблема не возникает, если я подожду минуту или около того после отправки приглашения, а затем попытаюсь исправить пользователя.Как я могу установить это свойство без ожидания?

Чтобы решить эту проблему, я уже пытался реализовать логику повторных попыток, но это ненадежно.

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);

hireDate свойство должно быть установлено для вновь созданного гостяпользователь в Azure AD.

1 Ответ

0 голосов
/ 04 января 2019

Насколько мне известно, в настоящее время нет способа избежать этой задержки, поскольку иногда для изменения состояния может потребоваться от 30 минут до часа.

Поскольку Graph API в настоящее время не может проверить это, мы можем использовать API отчетов Azure AD для проверки этого состояния.Мы можем получить событие обновления пользователя и проверить UserState, чтобы увидеть, приглашено ли оно для достижения цели.Более подробную информацию об API отчетов Azure AD можно получить по этой ссылке .

. Вы можете оставить отзыв для Azure, чтобы сократить эту задержку здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...