Получить события Календаря Google, которые начинаются и заканчиваются между двумя датами - PullRequest
0 голосов
/ 10 ноября 2018

Как показано на рисунке, я хочу получить все события, которые находятся в диапазоне (начало и конец) моего события «Мое свободное время». В этом случае есть три события, которые соответствуют требованиям («Подготовка к экзамену», «Домашнее задание», «Кофе»).
Время начала события «Выйти» выходит за пределы диапазона времени начала события «Мое свободное время».
Время окончания события 'Cycling' выходит за пределы времени начала события 'My Free Time'.

enter image description here

Я использую Google Calendar API v3 . Я видел параметры ' timeMax ' и ' timeMin ' в Справочнике по API Календаря Google:
timeMax - Верхняя граница (исключительная) для времени начала события для фильтрации.
timeMin - нижняя граница (включительно) для времени окончания события для фильтрации.

Я делаю следующий звонок:

$optParams = array(
    'maxResults' => 10,
    'orderBy' => 'startTime',
    'singleEvents' => TRUE,
    'timeMin' => '2018-11-27T07:30:00+01:00',
    'timeMax' => '2018-11-27T17:30:00+01:00',
);

Где timeMin установлено для события «My Free Time» startTime & timeMax установлено для события «My Free Time» endTime .

Но в результате появляются все события («Бег», «Подготовка к экзамену», «Домашняя работа», «Кофе», «Велоспорт»), а не только 3 события «Обучение на экзамене», «Домашняя работа» и «Кофе».

Вопрос в том, как задать параметры timeMin & timeMax для получения только события «Обучение для экзамена»?

Следующий вопрос похож: Google Calendar Api получает события на текущей неделе

но ответы не соответствуют моим требованиям. Мои требования:
- НЕ получать события, время начала которых ДО ДО начала времени диапазона, а время окончания находится в диапазоне, т. Е. ДО времени окончания диапазона (например, событие «Выполнение»)
- НЕ получать события, время окончания которых является ПОСЛЕ времени окончания диапазона, а время начала находится в диапазоне, т. Е. ПОСЛЕ времени начала диапазона (например, событие «Cycling»)

1 Ответ

0 голосов
/ 10 ноября 2018

timeMin -> 2018-11-27T10: 30: 00 + 01: 00
timeMax -> 2018-11-27T15: 30: 00 + 01: 00

...