Google Календарь

Содержание:


Нет нужного триггера или действия? Реализуйте его через Webhook или HTTP-запрос, либо напишите нам и мы попробуем найти решение.

Действия


Получить события календаря


Данное действие возвращает события календаря в виде вложенных массивов.


Необходимо заполнить поля:


  • 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):


Google Календарь


2. В открывшемся окне указваем название проекта, например "APInita Google Calendar" и нажимаем кнопку "Create":Google Календарь


3. Переходим в созданный проект (3):


Google Календарь


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


Google Календарь



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


Google Календарь


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


Google Календарь


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


Google Календарь


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


Google Календарь


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


Google Календарь


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


Google Календарь


Далее внизу страницы нажимаем "SAVE AND CONTINUE" и переходим на следующий шаг.


10. Нажимаем кнопку "ADD USERS" (16), добавляем Ваш Email (17), нажимаем кнопку "ADD", а затем "SAVE AND CONTINUE":


Google Календарь



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


Google Календарь


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


Google Календарь


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


Google Календарь


Настройка подключения в APInita

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


Google Календарь


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


Google Календарь


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


Google Календарь


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:

Google Календарь


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


Google Календарь


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


Google Календарь


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


Google Календарь


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

Попробуйте бесплатно

При регистрации Вы бесплатно получаете 14 дней и 1.000 запусков сценариев:

Нажимая кнопку «Регистрация» Вы принимаете условия лицензионного соглашения и даете согласие на обработку своих персональных данных. Если у Вас уже есть аккаунт, войдите в систему. Сайт защищен технологией reCAPTCHA и к нему применяются Google политика конфиденциальности и условия использования.
  • Техподдержка

    Ответим на Ваши вопросы, подскажем по настройкам модулей.

  • Доступные тарифы

    От 1000р. в месяц за полный функционал без ограничений.

  • Безопасность

    Сервера расположены на территории РФ, а все подключения дополнительно шифруются.

Решения для сервиса Google Календарь