Я не воспроизводлю это поведение с пользователем в часовом поясе стандартного Тихоокеанского региона ИЛИ часовом поясе стандартного времени GMT.Для ясности, я делаю все тесты с Почтальоном, и я не использовал заголовок Prefer: outlook.timezone
, на который указал Джереми.
Я создал ежедневную встречу без конца для пользователя в 2PM Pacific, которая22:00 UTCТакже обратите внимание, что летнее время начинается в этом часовом поясе 10 марта. Как вы можете видеть ниже, время на экземплярах как до, так и после обновления правильное.
Я также повторил ту же последовательность событий для пользователяв стандартном часовом поясе GMT (настроен так же в Outlook в Интернете):
Я получил точно такие же результаты для этого пользователя.
Я бы предложил, чтобы, когда вы исправляете повторение, вы всегда использовали recurrenceTimeZone
из исходного повторения.Возможно, вы повредили повторение, установив патч с помощью UTC
первоначально.
Получить событие после создания в Outlook в Интернете
GET /me/events/{id}&$select=originalStartTimeZone,originalEndTimeZone,start,end,recurrence
{
"id": "AAMkAGE1NWM...",
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"start": {
"dateTime": "2019-01-24T22:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2019-01-24T22:30:00.0000000",
"timeZone": "UTC"
},
"recurrence": {
"pattern": {
"type": "daily",
"interval": 1,
"month": 0,
"dayOfMonth": 0,
"firstDayOfWeek": "sunday",
"index": "first"
},
"range": {
"type": "noEnd",
"startDate": "2019-01-24",
"endDate": "0001-01-01",
"recurrenceTimeZone": "Pacific Standard Time",
"numberOfOccurrences": 0
}
}
}
Получить экземпляры перед изменением
Обратите внимание на изменение времени начала / окончания.
GET /me/events/{id}/instances?startDateTime=2019-03-09T00:00:00&endDateTime=2019-03-11T00:00:00&
$select=originalStartTimeZone,originalEndTimeZone,start,end
{
"value": [
{
"id": "AAMkAGE1NWM...",
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"start": {
"dateTime": "2019-03-09T22:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2019-03-09T22:30:00.0000000",
"timeZone": "UTC"
}
},
{
"@odata.etag": "W/\"bReRxUIs3kGIyXXcVJg69AAANf7nZQ==\"",
"id": "AAMkAGE1NWM...",
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"start": {
"dateTime": "2019-03-10T21:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2019-03-10T21:30:00.0000000",
"timeZone": "UTC"
}
}
]
}
Обновление повторения события для добавления даты окончания
Обратите внимание, что я оставил recurrenceTimeZone
в качестве того же значения, что и оригинал.
PATCH /me/events/{id}
{
"recurrence": {
"pattern": {
"type": "daily",
"interval": 1,
"month": 0,
"dayOfMonth": 0,
"firstDayOfWeek": "sunday",
"index": "first"
},
"range": {
"type": "endDate",
"startDate": "2019-01-24",
"endDate": "2020-01-23",
"recurrenceTimeZone": "Pacific Standard Time",
"numberOfOccurrences": 0
}
}
}
Получение экземпляров после модификации
Обратите внимание, что время начала / окончаниявсе еще смещены правильно.
GET /me/events/{id}/instances?startDateTime=2019-03-09T00:00:00&endDateTime=2019-03-11T00:00:00&
$select=originalStartTimeZone,originalEndTimeZone,start,end
{
"value": [
{
"id": "AAMkAGE1NWM...",
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"start": {
"dateTime": "2019-03-09T22:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2019-03-09T22:30:00.0000000",
"timeZone": "UTC"
}
},
{
"@odata.etag": "W/\"bReRxUIs3kGIyXXcVJg69AAANf7nZQ==\"",
"id": "AAMkAGE1NWM...",
"originalStartTimeZone": "Pacific Standard Time",
"originalEndTimeZone": "Pacific Standard Time",
"start": {
"dateTime": "2019-03-10T21:00:00.0000000",
"timeZone": "UTC"
},
"end": {
"dateTime": "2019-03-10T21:30:00.0000000",
"timeZone": "UTC"
}
}
]
}