Как проверить наличие событий Календаря Google, помеченных: «Автоматически отклонять новые и существующие собрания» - PullRequest
0 голосов
/ 10 марта 2020

Не инженер здесь. Я работаю над программой (использующей Google Sheets), которая поможет сотрудникам моего офиса анализировать свои календари.

В службе Календаря Google есть методы, которые позволяют мне получать время начала и окончания события, списки гостей и гораздо больше. К сожалению, я не понял, как определить разницу между «Напоминанием» и «Вне офиса». Они оба отображаются как события на весь день, но первое можно игнорировать, а второе заставляет весь день отображаться как «заблокированный» или «запланированный». Мне нужно уметь их различать, но я не знаю, как.

Есть предложения?

ПОДРОБНЕЕ: Я создаю «Напоминание» в Календаре Google, нажимая чуть ниже день, наверху. Это дает мне три варианта: «Событие», «Вне офиса» и «Назначение». Когда я создаю напоминание для себя, я сначала называю его (например, «Назначение доктора в 2:00»), затем я обычно меняю цвет на красный, чтобы он был особенно заметен.

Если я собираюсь выйти офиса я выбираю этот вариант. Параметр «Автоматически отклонять новые и существующие собрания» установлен по умолчанию. Я добавляю имя типа «Конференция разработчиков» и сохраняю его. Это приводит к тому, что весь день отображается голубым цветом, указывая на то, что весь день заблокирован.

1 Ответ

1 голос
/ 12 марта 2020

Вы можете различить обычное событие и событие «Нет на месте», поскольку в последнем отсутствует атрибут transparency, а в атрибуте description указано следующее значение:

"This is an out-of-office event, which can only be edited in Google Calendar. Meetings during this time will be automatically declined."

Вы можете проверить это, сделав запрос Events.list и проверить результаты, например:

Нормальное событие:

  {
   "kind": "calendar#event",
   "etag": "\"3167876463844000\"",
   "id": "1nqq8sg43po8itr8h0ebedfgbq",
   "status": "confirmed",
   "htmlLink": "https://www.google.com/calendar/event?eid=MW5xcThzZzQzcG84aXRyOGgwZWJlZGZnYnEgdGVzdGluYUBlZ3Mtc2J0MDExLmV1",
   "created": "2020-03-11T14:50:31.000Z",
   "updated": "2020-03-11T14:50:31.922Z",
   "summary": "test",
   "creator": {
    "email": "testina@egs-sbt011.eu",
    "self": true
   },
   "organizer": {
    "email": "testina@egs-sbt011.eu",
    "self": true
   },
   "start": {
    "date": "2020-03-16"
   },
   "end": {
    "date": "2020-03-17"
   },
   "transparency": "transparent",
   "iCalUID": "1nqq8sg43po8itr8h0ebedfgbq@google.com",
   "sequence": 0,
   "reminders": {
    "useDefault": false
   }
  }

Событие «Вне офиса»:

  {
   "kind": "calendar#event",
   "etag": "\"3167876472386000\"",
   "id": "29g3lpl9hojb92bevvkvdccq6p",
   "status": "confirmed",
   "htmlLink": "https://www.google.com/calendar/event?eid=MjlnM2xwbDlob2piOTJiZXZ2a3ZkY2NxNnAgdGVzdGluYUBlZ3Mtc2J0MDExLmV1",
   "created": "2020-03-11T14:50:36.000Z",
   "updated": "2020-03-11T14:50:36.289Z",
   "summary": "test OOO",
   "description": "This is an out-of-office event, which can only be edited in Google Calendar. Meetings during this time will be automatically declined.",
   "creator": {
    "email": "testina@egs-sbt011.eu",
    "self": true
   },
   "organizer": {
    "email": "testina@egs-sbt011.eu",
    "self": true
   },
   "start": {
    "dateTime": "2020-03-17T00:00:00+01:00"
   },
   "end": {
    "dateTime": "2020-03-18T00:00:00+01:00"
   },
   "visibility": "public",
   "iCalUID": "29g3lpl9hojb92bevvkvdccq6p@google.com",
   "sequence": 0,
   "reminders": {
    "useDefault": false
   }
  }

Что касается слотов для встреч, они не поддерживаются Google Calendar API, вы можете +1 этот запрос на открытие функции для реализовать это.

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