Ошибка API Календаря Google - Дата окончания - 1 - PullRequest
0 голосов
/ 22 января 2020

API Календаря Google обрабатывает end.date как end.date - 1

Полезная нагрузка My POST

{
    'summary': 'THREE DAY EVENT',
    'status': 'confirmed',
    'start': {
        'date': '2020-01-27',
        'timeZone': 'America/Los_Angeles'
    },
    'end': {
        'date': '2020-01-29',
        'timeZone': 'America/Los_Angeles'
    }
}

, что приводит к следующему событию в моем календаре

enter image description here

Обратите внимание, что конечной датой этого 3 дня в течение всего дня является минус 1

Когда я выполняю GET для идентификатора события, мне возвращается правильный объект.

{
    'kind': 'calendar#event',
    'etag': '"REDACTED"',
    'id': 'REDACTED',
    'status': 'confirmed',
    'htmlLink': 'REDACTED',
    'created': '2020-01-22T20:15:23.000Z',
    'updated': '2020-01-22T20:15:23.896Z',
    'summary': 'THREE DAY EVENT',
    'creator': {'email': 'REDACTED'},
    'organizer': {'email': 'REDACTED',
    'displayName': 'REDACTED',
    'self': True},
    'start': {'date': '2020-01-27'},
    'end': {'date': '2020-01-29'},
    'iCalUID': 'REDACTED',
    'sequence': 0,
    'reminders': {'useDefault': True}
}

Я видел это сообщение - API Календаря Google: конечное время события уменьшается на 1 день

Согласно документации по API Календаря Google: https://developers.google.com/calendar/v3/reference/events/insert#request -body

end.date - The date, in the format "yyyy-mm-dd", if this is an all-day event.

Для события all-day строка времени не требуется, и результирующее событие должно находиться в пределах моих границ при условии. Полученный ответ API правильный, но событие в Календаре Google не ...

1 Ответ

1 голос
/ 23 января 2020

Как вы можете видеть в официальной документации API , параметр end относится к исключительному времени окончания события, которое отличается от start, которое относится к включительно время начала.

То есть дата окончания включается не в событие, а днем ​​ранее.

Ссылка:

Надеюсь, это поможет.

...