Microsoft GraphApi GetSchedule возвращает настроенный часовой пояс, поэтому запланированное событие календаря создает исключение TimeZoneNotSupportedException - PullRequest
0 голосов
/ 29 января 2020

Мы используем Graph Api для получения и установки событий календаря.

Мы вызываем GetSchedule и используем WorkingHours.TimeZone.Name, чтобы попытаться получить TimeZoneInfo.

TimeZoneInfo.FindSystemTimeZoneById(workingHours.TimeZone.Name);

В течение большей части времени В зонах, которые настроены на внешний вид (например, по восточному поясному времени), имя часового пояса правильное, и все, кажется, работает хорошо.

Однако, если Outlook настроен на что-то вроде часового пояса Аризоны (что является опцией при установке времени зона в перспективе) выдает ошибку:

The time zone ID 'Customized Time Zone' was not found on the local computer.

Поэтому мы попытались обойти это путем создания собственного часового пояса с использованием смещения / смещения

            try
            {
                return TimeZoneInfo.FindSystemTimeZoneById(workingHours.TimeZone.Name);
            }
            catch (Exception ex)
            {
                var customTimeZone = workingHours.TimeZone as CustomTimeZone;
                return TimeZoneInfo.CreateCustomTimeZone("Customized Time Zone", TimeSpan.FromMinutes(Convert.ToDouble(customTimeZone.Bias)), "Customized Time Zone", "Customized Time Zone");
            }

Это работает при создании новый информационный объект о часовом поясе для вызова, однако, когда мы go планируем событие с использованием этого часового пояса, он выдает ошибку, говорящую:

Code: TimeZoneNotSupportedException
Message: A valid TimeZone value must be specified. The following TimeZone value is not supported: 'Customized Time Zone'.

Почему график для Аризоны дает пользовательский часовой пояс? Как мы планируем события с часовым поясом?

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