- APInita
- Возможности
- Сервисы
- Решения
- Рерайт статей с помощью ИИ и публикацией в Telegram
- Распознавание чеков и документов по фото с помощью APInita
- Генерация изображений с помощью ИИ и отправка в Телеграм
- Получение и передача файлов в Telegram по API
- Авторизация в Telegram-боте с использованием Google-таблицы в качестве базы данных
- Другие решения
- Начать бесплатно
- Вход
- Контакты
Google Календарь
Не нашли подходящего триггера или действия? Трансформируйте существующий метод, реализуйте новый через Webhook и HTTP-запрос или напишите нам и мы постараемся найти решение.
Сайт сервиса: https://calendar.google.com
API: https://developers.google.com/workspace/calendar/
Действия
Получить события календаря
Данное действие возвращает события календаря в виде вложенных массивов.
Необходимо заполнить поля:
- ID календаря (скопировать из Google: Настройки календаря -> Интеграция календаря -> Идентификатор календаря (первый пункт));
- Подключение (см. раздел "Подключение" ниже).
Необязательные поля:
- Сортировка (при передаче syncToken оставить сортировку по умолчанию);
- pageToken - при передаче данного параметра ответ содержит определенную страницу результатов;
- syncToken - при передаче данного параметра ответ содержит только события, измененные с момента получения переданного syncToken'а. Оставить поле пустым для получения всех событий.
Значение pageToken содержится в ответе, если количество событий в календаре превышает одну страницу (требует запроса следующей страницы). Значение syncToken содержится в последней (или единственной) странице ответа.
Получить событие по ID
Данное действие возвращает в виде массива данные о конкретном событии.
Необходимо заполнить поля:
- ID календаря (скопировать из Google: Настройки календаря -> Интеграция календаря -> Идентификатор календаря (первый пункт));
- ID события (возвращается в ключе 'id' массива события);
- Подключение (см. раздел "Подключение" ниже).
Добавить событие
Данное действие создает новое событие в календаре.
Передаваемые значения:
- ID календаря (скопировать из Google: Настройки календаря -> Интеграция календаря -> Идентификатор календаря (первый пункт));
- Заголовок события (не обязательно - если поле не заполнено, событие будет создано с пустым заголовком);
- Дата-время начала события (см. раздел "Используемый формат даты и времени" ниже);
- Дата-время окончания события (см. раздел "Используемый формат даты и времени" ниже);
- Подключение (см. раздел "Подключение" ниже).
Обновить (изменить) событие по ID
Данное действие изменяет значения в конкретном событии календаря.
Передаваемые значения:
- ID календаря (скопировать из Google: Настройки календаря -> Интеграция календаря -> Идентификатор календаря (первый пункт));
- ID события (возвращается в ключе 'id' массива события);
- Заголовок события (внимание! Если поле не заполнено, существующий заголовок события будет перезаписан на "пусто");
- Дата-время начала события (см. раздел "Используемый формат даты и времени" ниже);
- Дата-время окончания события (см. раздел "Используемый формат даты и времени" ниже);
- Подключение (см. раздел "Подключение" ниже).
Используемый формат даты и времени
Сервис Google Calendar передает и принимает дату и время в формате RFC3339.
Единицы измерения времени следуют в порядке от большего к меньшему:
Год, месяц, день, затем символ T, после него - часы, минуты, секунды, затем - смещение относительно UTC (Universal Time Coordinated), что по сути соответствует GMT (гринвичскому времени).
Например, дата 31 декабря 2020, время 21:45 по московскому времени записывается в следующем виде:
2020-12-31T21:45:00+03:00
(смещение +3 часа относительно UTC)
Чтобы передать время UTC, вместо смещения прописывается символ Z.
Например, время 21:45 по мск соответствует 18:45 UTC, что записывается в следующем виде:
2020-12-31T21:45:00Z
Триггеры
Специальный триггер не требуется, можно воспользоваться общим модулем Webhook для установки notification channel (см. документацию Google) или собственной разработки AppsScript.
Подключение
Настройка Google Calendar API в Google
1. Переходим на https://console.cloud.google.com/ Нажимаем кнопку выбора проекта (1) и далее кнопку "New project" (1):

2. В открывшемся окне указваем название проекта, например "APInita Google Calendar" и нажимаем кнопку "Create":
3. Переходим в созданный проект (3):

4. Нажимаем кнопку "ENABLE APIS AND SERVICES" (4):

5. В строке поиска (5) вводим "calendar", жмем Enter и выбираем последовательно "Google Calendar API" и "CalDAV API" (6):

6. В каждом случае нажимаем "Enable" (7):

7. Переходим в раздел "OAuth consent screen" (8), выбираем "Extenral" (9) и жмем "Create":

8. Укажите название приложения (10), например "APInita Google Calendar", Ваш Email (11):

Промотайте вниз страницы и так же укажите Ваш Email (12) и нажмите кнопку "SAVE AND CONTINUE":

9. Нажмите кнопку "ADD OR REMOVE SCOPES" (13), введите в строку поиска (14) "Google Calendar API", установите галочку у поля Google Calendar API (15) и сохраните:

Далее внизу страницы нажимаем "SAVE AND CONTINUE" и переходим на следующий шаг.
10. Нажимаем кнопку "ADD USERS" (16), добавляем Ваш Email (17), нажимаем кнопку "ADD", а затем "SAVE AND CONTINUE":

11. Далее переходим в раздел "Credentials" (18), нажимаем "CREATE CREDENTIALS" (19) и выбираем "OAuth client ID" (20):

12. Выбираем тип приложения "Web application" (21), указываем имя, например "APInita" (22), позже так же добавим redirect URI (23 - вернемся к этой части дальше в инструкции) и нажимаем внизу кнопку "CREATE":

13. Скопируйте полученные Client ID (24) и Secret ID (25):

Настройка подключения в APInita
Переходим в раздел "Подключения" (1) и нажимаем "+" (2):

В типе подключения выбираем "OAuth 2.0" (4), вводим название подключения (3) и нажмимаем "Начать настройку":

Далее заполняем поля:

1. Cliend ID (1): значение, полученное в п. 13 (24);
2. Client Secret (1): значение, полученное в п. 13 (25);
3. URL авторизации (3):
https://accounts.google.com/o/oauth2/v2/auth?access_type=offline&response_type=code&client_id={{ client_id }}&nonce={{ random() }}&redirect_uri=https://cabinet.apinita.ru/connections/17&scope=https://www.googleapis.com/auth/spreadsheets
Здесь "https://cabinet.apinita.ru/connections/17" заменить на значение из поля "URL для редиректа после авторизации" (16).
4. URL для получения Access Token (4):
https://oauth2.googleapis.com/token
5. Метод: POST. Тип данных: application/x-www-form-urlencoded
6.
grant_type: authorization_code
client_id: {{ client_id }}
client_secret: {{ client_secret }}
redirect_uri: https://apinita.ru/connections/17
code: {{ code }}
Здесь "https://cabinet.apinita.ru/connections/17" заменить на значение из поля "URL для редиректа после авторизации" (16).
7. Оставьте поля пустыми;
8. Оставьте поля пустыми;
9. Authorization: Bearer {{ access_token }}
10. Оставьте поля пустыми;
11. 401
12. URL для обновления токена: https://oauth2.googleapis.com/token
13. Метод: POST. Тип данных: application/x-www-form-urlencoded
14.
grant_type: refresh_token
client_id: {{ client_id }}
client_secret: {{ client_secret }}
refresh_token: {{ refresh_token }}
15. Оставьте поля пустыми;
16. Скопируйте значение данного поля и установите его в настройках Google в пункт 12 (23).
После ввода всех данных - нажмите кнопку "Сохранить и авторизоваться", перед Вами появится окно, выберите в нем свой аккаунт Google:

Далее нажмите кнопку "Продолжить":

Далее так же нажмите "Продолжить":

Если все прошло корректно, Вы вернетесь на страницу подключения в APInita, а статус подключения будет "Подключено":

Для справки: если Вам потребуется отменить подключение и/или переподключиться, сделать это можно по ссылке: https://myaccount.google.com/connections Для повторного подключения снова нажмите кнопку "Сохранить и авторизоваться" в подключении APInita.
Решения для сервиса Google Календарь