Как определить исходный идентификатор повторяющегося события серии в API Календаря Google? - PullRequest
0 голосов
/ 10 апреля 2020

Я хочу сгруппировать все повторяющиеся отдельные события под одним и тем же родителем.

Для этого используется атрибут recurringEventId. Но этот подход работает только до тех пор, пока пользователь не изменит что-либо в серии. Например, он расширяет серию или меняет время, и при сохранении выбирает вариант применить изменения к «Это и последующие события». В этот момент Google, кажется, создает совершенно новую, независимую серию с новым recurringEventId.

Можно ли узнать исходный идентификатор повторяющегося события или какой-либо атрибут, который связывает две серии друг с другом?

Вот пример. Событие оригинальной серии: (частичное json)

{
  "id": "13jq1025j8h1720v879uppupta_20200407T110000Z",
  "summary": "Recurring Fry",
  "start": {
    "dateTime": "2020-04-07T13:00:00+02:00",
    "timeZone": "Europe/Zurich"
  },
  "end": {
    "dateTime": "2020-04-07T14:00:00+02:00",
    "timeZone": "Europe/Zurich"
  },
  "recurringEventId": "13jq1025j8h1720v879uppupta",
  "iCalUID": "13jq1025j8h1720v879uppupta@google.com"
}

Событие серии после изменения события и сохранения изменений для «этого и следующего события»

{
  "id": "ru2of0r8ph60qu5jedlgpbstcv_20200408T120000Z",
  "summary": "Recurring Fry",
  "start": {
    "dateTime": "2020-04-08T14:00:00+02:00",
    "timeZone": "Europe/Zurich"
  },
  "end": {
    "dateTime": "2020-04-08T15:00:00+02:00",
    "timeZone": "Europe/Zurich"
  },
  "recurringEventId": "ru2of0r8ph60qu5jedlgpbstcv",
  "originalStartTime": {
    "dateTime": "2020-04-08T14:00:00+02:00",
    "timeZone": "Europe/Zurich"
  },
  "iCalUID": "ru2of0r8ph60qu5jedlgpbstcv@google.com"
}

1 Ответ

0 голосов
/ 10 апреля 2020

Существует один параметр, который остается неизменным даже после изменения повторений событий: etag

Если вы перечисляете события и получаете их etag, вы можете установить связь между оригиналом и новым серия.

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