Salebot.pro
Search
K

Google-календарь

Как создать сервисный аккаунт

Для этого необходимо зарегистрировать свой аккаунт в сервисах Google (https://console.developers.google.com/cloud-resource-manager).
Переходим по ссылке и создаем проект:
Придумываем название для проекта
Нажимаем Create и немного ждем, пока создается аккаунт.
Перезагружаем страницу. Нажимаем “F5”
Проверяем права доступа. Должно быть Полное -”Owner”
Переходим в настройки сервисного аккаунта
Заходим в “Сервисные аккаунты”
и создаём Сервисный аккаунт
Вводим название и почту сервисного аккаунта:
Далее роль owner (Владелец):
Сохраняем и попадаем в список сервисных аккаунтов. Переходим в настройки ключей и создаем новый:
Сразу после создания ключ автоматически загрузится на ваш компьютер. Далее его нужно загрузить на хостинг или в конструктор Salebot и передавать ссылку на него в параметрах запросов, передавая полученный URL в параметре creds_path.
Теперь надо добавить наше API-интеграции. Для этого заходим сюда.
Находим api календаря и включаем его в этом сервисном аккаунте:
На этом создание сервисного аккаунта завершено.

Как загрузить файл ключей

Переходим в проект и загружаем полученный файл в блок, например, вот так:
Нажимаем "Готово" и переходим в тестового бота:
Вводим фразу, которую задали для входа в блок. В примере это 123. В ответ получаем ссылку на файл с ключами:
Блок удалять нельзя, иначе файл удалится с сервера и нужно будет заново добавлять.
Не забываем блок сделать Не состояние (чтоб не мешал):
Эту ссылку можно сохранить в переменную или передавать в параметре creds_path как есть.

Как найти идентификатор календаря

Идентификатор существующего календаря можно посмотреть в его настройках

Как создать новый календарь

Создать новый календарь можно двумя способами: вручную и через функцию (ниже).
Ручное создание календаря:
Чтобы можно было добавлять записи и редактировать существующий календарь (или созданный вручную), нужно добавить соответствующий доступ сервисному аккаунту. Для этого перейдите в настройки нужного календаря и добавьте email сервисного аккаунта.

Как создать календарь с помощью функции

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - create name - название календаря description - описание календаря recurrence_days - параметр для задания периодичности события. Например: "SU,MO,TU,WE,TH,FR,SA" - событие активно каждую неделю каждый день. "MO,TU,WE,TH,FR" - событие активно каждую неделю каждый день. кроме субботы и воскресенья.
Дополнительные параметры:
time_zone - Часовой пояс календаря. Идентификатор часового пояса IANA. По умолчанию: Europe/Moscow location - географическое положение календаря в виде текста произвольной формы
Также можно дать доступ другому аккаунту, например своему основному аккаунту: owner_email - емейл аккаунта, который будет добавлен как владелец календаря
По умолчанию календарь создастся в сервисном аккаунте. Чтобы иметь возможность визуального редактирования календаря из своего аккаунта, передавайте свой email в параметре owner_email
Пример:
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0577.json", "calendar_id": "[email protected]", "command": "update_event", "event_id": "v40c3d6j2ibl6vpg2m842538l0", "popup_minutes": "11","email_minutes": "22", "recurrence_days": "MO,TU,FR" }
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить:
{'kind': 'calendar#calendar', 'etag': '"WgASl9FY_5zrEmCZvrt4Qlh6tGQ"', 'id': '[email protected]', 'summary': 'Название календаря’', 'timeZone': 'UTC'} Сохраним id созданного календаря: id -> calendar_id
Для тестирования вы можете вывести на экран переменную #{custom_answer}.
Если был передан емейл (параметр owner_email), то после успешного запроса необходимо перейти во Входящие и подтвердить добавление календаря в ваш аккаунт:

Как получить информацию о календаре

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - get_calendar calendar_id - идентификатор календаря
Сохраняемые значения из JSON-ответа: После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'kind': 'calendar#calendar', 'etag': '"6KN4OTLeoqGGu7Nr5uNIQgCGYsU"', 'id': '[email protected]', 'summary': 'Название календаря', 'timeZone': 'UTC'}

Как получить список календарей сервисного аккаунта

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - calendars_list
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{ 'kind': 'calendar#calendarList', 'etag': '"p32o8pm47rfqf20g"', 'nextSyncToken': 'CLCM2Ifb9PECEi5nc2hlZXRzQGdzaGVldHMtMjU0NzEzLmlhbS5nc2VydmljZWFjY291bnQuY29t', 'items': [ { 'kind': 'calendar#calendarListEntry', 'etag': '"1625235372775000"', 'id': '[email protected]', 'summary': 'AAAAAAAAaa', 'timeZone': 'Asia/Singapore', 'colorId': '17', 'backgroundColor': '#9a9cff', 'foregroundColor': '#000000', 'selected': True, 'accessRole': 'owner', 'defaultReminders': [ ] }, { 'kind': 'calendar#calendarListEntry', 'etag': '"1625235805096000"', 'id': '[email protected]', 'summary': 'AAAAAAAAaa', 'timeZone': 'Asia/Singapore', 'colorId': '21', 'backgroundColor': '#cca6ac', 'foregroundColor': '#000000', 'selected': True, 'accessRole': 'owner', 'defaultReminders': [ ] } ] }

Как работать с событиями/мероприятиями (Events)

Быстрое добавление события (мероприятия)

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - quick_add_event calendar_id - идентификатор календаря event_name - название события
Пример параметров: {"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "command": "quick_add_event","event_name": "Супер мероприятие"} Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить по своему усмотрению.
Для дальнейшего редактирования созданного события рекомендуется сохранить его идентификатор: id -> event_id
Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3253879667088000"', 'id': 'ljp7a3ocp8oorbov9u2cq221s0', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-22T07:43:53.000Z', 'updated': '2021-07-22T07:43:53.544Z', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'}, 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}

Как добавить событие (мероприятие)

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - add_event calendar_id - идентификатор календаря event_name - название события
Также нужно указать один из вариантов: дату или дату и время. Если мероприятие будет проводится весь день, то нужно передать даты:
  1. 1.
    start_date - дата начала мероприятия в формате дд.мм.гггг (23.07.2021)
  2. 2.
    end_date - дата завершения мероприятия в формате дд.мм.гггг (24.07.2021)
Если мероприятие в определенное время, то нужно передать дату:
  1. 1.
    start_datetime - дата и время начала мероприятия в формате дд.мм.гггг чч:мм (23.07.2021 12:00)
  2. 2.
    end_datetime - дата и время завершения мероприятия в формате дд.мм.гггг чч:мм (24.07.2021 13:00)
  3. 3.
    time_zone - Часовой пояс события. Идентификатор часового пояса IANA. По умолчанию: Europe/Moscow
Если часовой пояс календаря и события разный, то событие добавится со временем в часовом поясе календаря.
Пример:
Календарь в часовом поясе (чс) Europe/Moscow +3, а событие добавляется с часовым поясом Europe/Berlin +2. Время события 12:00 (чс +2) в календарь добавится на 13:00, так как по московскому времени 13:00 соответствует 12:00 в часовом поясе +2
Дополнительные параметры:
event_description - описание события
location - географическое положение мероприятия в виде текста произвольной формы
email_minutes - время в минутах: за сколько до начала события отправить уведомление участникам на емейл
popup_minutes - время в минутах: за сколько до начала события отправить уведомление участникам во всплывающих уведомлениях.
transparency - блокировка времени в календаре, может принимать два значения "opaque" или "transparent":
  • "opaque" - значение по умолчанию. Событие блокирует время в календаре. Это эквивалентно настройке Показывать как занятой в пользовательском интерфейсе календаря.
  • "transparent" — событие не блокирует время в календаре. Это эквивалентно настройке «Показать как доступно» в пользовательском интерфейсе календаря.
recurrence_days - параметр для задания периодичности события.
Например:
"SU,MO,TU,WE,TH,FR,SA" - событие активно каждую неделю каждый день.
"MO,TU,WE,TH,FR" - событие активно каждую неделю каждый день. кроме субботы и воскресенья.
Пример параметров:
Пример параметров с recurrence_days
Календарь в часовом поясе (чс) Europe/Moscow +3, а событие добавляется с часовым поясом Europe/Berlin +2. Время события 12:00 (чс +2) в календарь добавится на 13:00, так как по московскому времени 13:00 соответствует 12:00 в часовом поясе +2
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "command": "add_event", "event_name": "Супер мероприятие", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00"}
Создать событие на каждую неделю с 07:00 до 16:00 по понедельникам, вторникам, четвергам и пятницам.
Параметры:
{ "creds_path": "https://files.salebot.pro/uploads/message/file/1/calendar-project-320517-c241d9ab0577.json", "calendar_id": "[email protected]", "command": "add_event", "event_name": "Супер мероприятие 23", "start_datetime": "#{current_date} 07:00", "end_datetime": "#{current_date} 16:00", "recurrence_days": "MO,TU,TH,FR" }
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить.
Для дальнейшего редактирования созданного события рекомендуется сохранить его идентификатор: id -> event_id
Пример ответа функции: {'kind': 'calendar#event', 'etag': '"3254057128970000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:22:53.109Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}

Редактирование события (мероприятия)

Тип запроса: POST-json
Параметры обязательные:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше)
command - update_event calendar_id - идентификатор календаря
event_id - идентификатор изменяемого события
Возможные параметры для обновления:
Можно передать как один, так и несколько параметров.
event_name - название события
event_description - описание события location - географическое положение мероприятия в виде текста произвольной формы
email_minutes - время в минутах: за сколько до начала события отправить уведомление участникам на емейл
popup_minutes - время в минутах: за сколько до начала события отправить уведомление во всплывающих уведомлениях
Если мероприятие будет проводится весь день, то можно передать даты:
start_date - дата начала мероприятия в формате дд.мм.гггг (23.07.2021)
end_date - дата завершения мероприятия в формате дд.мм.гггг (24.07.2021)
Если мероприятие в определенное время, то можно передать дату со временем:
start_datetime - дата и время начала мероприятия в формате дд.мм.гггг чч:мм (23.07.2021 12:00)
end_datetime - дата и время завершения мероприятия в формате дд.мм.гггг чч:мм (24.07.2021 13:00)
time_zone - Часовой пояс события. Идентификатор часового пояса IANA. По умолчанию: Europe/Moscow
transparency - блокировка времени в календаре, может принимать два значения "opaque" или "transparent":
  • "opaque" - значение по умолчанию. Событие блокирует время в календаре. Это эквивалентно настройке Показывать как занятой в пользовательском интерфейсе календаря.
  • "transparent" — событие не блокирует время в календаре. Это эквивалентно настройке «Показать как доступно» в пользовательском интерфейсе календаря.
recurrence_days - параметр для задания периодичности события. Например: "SU,MO,TU,WE,TH,FR,SA" - событие активно каждую неделю каждый день. "MO,TU,WE,TH,FR" - событие активно каждую неделю каждый день. кроме субботы и воскресенья.
Пример параметров:
Пример параметров:
Пример параметров с recurrence_days
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "event_id": "j1lcpm4q2p9c0cv705alv3brug", "command": "update_event", "event_name": "Обновленное мероприятие", "start_datetime": "27.07.2021 12:00", "end_datetime": "27.07.2021 14:00","popup_minutes": "11","email_minutes": "22"}
{ "creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0577.json", "calendar_id": "[email protected]", "command": "update_event", "event_id": "v40c3d6j2ibl6vpg2m842538l0", "popup_minutes": "11","email_minutes": "22", "recurrence_days": "MO,TU,FR" }
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить.
Пример ответа функции: {"kind":"calendar#event","etag":""3276713558524000"","id":"j1lcpm4q2p9c0cv705alv3brug","status":"confirmed","htmlLink":"https://www.google.com/calendar/event?eid=ajFsY3BtNHEycDljMGN2NzA1YWx2M2JydWcgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw","created":"2021-12-01T10:40:11.000Z","updated":"2021-12-01T10:43:16.738Z","summary":"Супер","creator":{"email":"[email protected]"},"organizer":{"email":"[email protected]","displayName":"Testov","self":true},"start":{"dateTime":"2021-12-28T09:00:00Z","timeZone":"Europe/Moscow"},"end":{"dateTime":"2021-12-29T11:00:00Z","timeZone":"Europe/Moscow"},"iCalUID":"[email protected]","sequence":0,"reminders":{"useDefault":false,"overrides":[{"method":"email","minutes":22},{"method":"popup","minutes":12}]},"eventType":"default","update_status":"ok"}

Получить список событий (мероприятий)

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - get_event_list calendar_id - идентификатор календаря
Если не передавать дополнительные события, то результатом будет список событий за сегодняшний день.
Дополнительные параметры:
start_date - дата от которой искать события в формате дд.мм.гггг (23.07.2021) end_date - дата до которой искать события в формате дд.мм.гггг (24.07.2021)
Пример параметров: Будут найдены события за 23 июля
{"creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "command": "get_event_list", "start_date": "22.07.2021", "end_date": "23.07.2021"}
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить.
Список найденных событий можно сохранить в переменную: items -> event_list
Пример ответа функции:
{'kind': 'calendar#events', 'etag': '"p33odnesrinsv20g"', 'summary': 'Testov', 'description': 'Testov description', 'updated': '2021-07-23T12:13:05.686Z', 'timeZone': 'UTC', 'accessRole': 'owner', 'defaultReminders': [], 'items': [{'kind': 'calendar#event', 'etag': '"3254084771372000"', 'id': '6d8rocb9e2r21ue37jgsa0v06i', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=NmQ4cm9jYjllMnIyMXVlMzdqZ3NhMHYwNmkgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T12:11:13.000Z', 'updated': '2021-07-23T12:13:05.686Z', 'summary': 'DDDDDDDDD', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'date': '2021-07-20'}, 'end': {'date': '2021-07-21'}, 'transparency': 'transparent', 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': False}, 'eventType': 'default'}]}

Как переместить события в другой календарь

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - move_event calendar_id - идентификатор календаря, из которого перемещается событие event_id - идентификатор события destination_calendar_id - идентификатор календаря, в который перемещается событие
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3253880350568000"', 'id': 'ljp7a3ocp8oorbov9u2cq221s0', 'status': 'cancelled', 'htmlLink': 'https://www.google.com/calendar/event?eid=bGpwN2Ezb2NwOG9vcmJvdjl1MmNxMjIxczAgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-22T07:43:53.000Z', 'updated': '2021-07-22T07:49:35.284Z', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Тестовый календарь'}, 'start': {'dateTime': '2021-07-22T07:43:53Z', 'timeZone': 'UTC'}, 'end': {'dateTime': '2021-07-22T08:43:53Z', 'timeZone': 'UTC'}, 'iCalUID': '[email protected]', 'sequence': 0, 'reminders': {'useDefault': True}, 'eventType': 'default'}

Как получить информацию о мероприятии

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - get_event calendar_id - идентификатор календаря event_id - идентификатор события
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'kind': 'calendar#event', 'etag': '"3254067331414000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T11:12:55.553Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default'}

Как удалить мероприятие

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - remove_event calendar_id - идентификатор календаря event_id - идентификатор удаляемого события
Сохраняемые значения из JSON-ответа:
После успешного выполнения функция вернет следующие параметры, которые можно сохранить. Пример ответа функции:
{'status': 'ok'}

Как добавить участника мероприятия

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный поинструкции выше) command - add_client calendar_id - идентификатор календаря event_id - идентификатор события client_email - электронная почта клиента
Дополнительные параметры:
name - описание события comment - комментарий участника
Пример параметров:
{ "creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "command": "add_client", "event_id": "#{event_id}", "client_email": "[email protected]", "name": "Viktor", "comment": "Буду первым!" }
Сохраняемые значения из JSON-ответа:
Функция всегда возвращает статус добавления add_status. Он может иметь три значения:
ok - клиент добавлен exist - клиент уже записан error - ошибка добавления. (Дополнительно с add_status, будет параметр error_message с текстом ошибки)
Пример ответа функции при успехе:
{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', ‘add_status’: 'ok'}

Как удалить участника мероприятия

Тип запроса: POST-json
Параметры:
creds_path - ссылка на ключ доступа сервисного аккаунта к апи календаря (полученный по инструкции выше) command - remove_client calendar_id - идентификатор календаря event_id - идентификатор события client_email - электронная почта клиента
Пример параметров:
{ "creds_path": "https://files.salebot.pro/uploads/message/file/30037/calendar-project-320517-c241d9ab0565.json", "calendar_id": "[email protected]", "command": "remove_client", "event_id": "#{event_id}", "client_email": "[email protected]" }
Сохраняемые значения из JSON-ответа:
Функция всегда возвращает статус добавления remove_status. Он может иметь три значения: 1 - клиент успешно удален 0 - клиент не найден error - ошибка удаления. (Дополнительно с remove_status, будет параметр error_message с текстом ошибки)
Пример ответа функции при успехе:
{'kind': 'calendar#event', 'etag': '"3254059247409000"', 'id': 'ittr5291ppi7snapn8jbct5krs', 'status': 'confirmed', 'htmlLink': 'https://www.google.com/calendar/event?eid=aXR0cjUyOTFwcGk3c25hcG44amJjdDVrcnMgaTlzdmVydHN0dm9vMmZxMW8waThjbjM5YThAZw', 'created': '2021-07-23T08:22:35.000Z', 'updated': '2021-07-23T08:58:11.548Z', 'summary': 'Новое событие44', 'description': 'Descri xbb xhjxkv', 'location': 'city London', 'creator': {'email': '[email protected]'}, 'organizer': {'email': '[email protected]', 'displayName': 'Testov', 'self': True}, 'start': {'dateTime': '2021-07-23T13:30:00Z', 'timeZone': 'Europe/Moscow'}, 'end': {'dateTime': '2021-07-23T14:00:00Z', 'timeZone': 'Europe/Moscow'}, 'iCalUID': '[email protected]', 'sequence': 0, 'attendees': [{'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya', 'responseStatus': 'needsAction'}, {'email': '[email protected]', 'displayName': 'Vasya2', 'responseStatus': 'needsAction'}], 'reminders': {'useDefault': False, 'overrides': [{'method': 'email', 'minutes': 10}, {'method': 'popup', 'minutes': 10}]}, 'eventType': 'default', 'remove_status': '1'}