Skip to Content

Найти интервалы встреч

Элемент подбирает свободные интервалы времени для встречи с учетом занятости участников — аналог «Помощника по планированию» Outlook. Для корректной работы следует поместить элемент в контейнер Microsoft 365.

Поиск выполняется от имени пользователя, под которым выполнен вход, поэтому элемент работает только при типе аутентификации UsernameAndPassword.

Свойства

Описание общих свойств элемента см. в разделе Свойства элемента . Символ * в названии свойства указывает на обязательность его заполнения.

СвойствоТипОписание
Параметры:
НачалоDateTimeНачало периода поиска
ОкончаниеDateTimeОкончание периода поиска
ПродолжительностьInt32Длительность встречи в минутах. Если не заполнено — 30 минут
Участники*List<String>Адреса участников, например new List<string> { "a.ivanov@company.ru", "p.petrov@company.ru" }
Часовой поясStringЧасовой пояс для Начала и Окончания. См. Часовой пояс
МестоположенияList<String>Названия переговорных для подбора. Если не заполнено — место подбирается автоматически
Политика-В какое время искать. Доступные значения: Work — рабочие часы участников, Personal — личное время, Unrestricted — любое время. По умолчанию Unrestricted
ОрганизаторBooleanУчитывать занятость организатора. По умолчанию включено
Результат:
ИнтервалыList<MeetingTimeSuggestion>Переменная для сохранения найденных интервалов
ПричинаStringПеременная для сохранения причины, по которой интервалы не найдены

Важно: Заполняйте Начало и Окончание вместе. Для поиска в рабочее время выберите Политику Work.

Примечание: Время начала интервала — suggestion.MeetingTimeSlot.Start.DateTime (UTC), уверенность в доступности участников — suggestion.Confidence (0–100).

Практический пример

Подбор часовой встречи на ближайшие три рабочих дня

  • Начало: DateTime.Today.AddDays(1).AddHours(9)
  • Окончание: DateTime.Today.AddDays(4).AddHours(18)
  • Часовой пояс: "Russian Standard Time"
  • Продолжительность: 60
  • Участники: new List<string> { "a.ivanov@company.ru", "p.petrov@company.ru" }
  • Политика: Work
  • Интервалы: slots
  • Причина: reason

Если slots.Count == 0, причина — в reason. Лучший вариант — slots.OrderByDescending(s => s.Confidence).First(); по нему создайте встречу элементом Создать событие.

Возможные ошибки

ОшибкаПричина и решение
Не указан участникНе заполнено свойство Участники
/me request is only valid with delegated authentication flowКонтейнер использует вход от имени приложения — используйте тип UsernameAndPassword
Причина = AttendeesUnavailableНет времени, когда свободны все участники: расширьте период или сделайте часть участников необязательными
Last updated on