Передача записей из Rubitime в Google календарь

Содержание:



Для возможности работы с Google календарем необходимо иметь аккаунт Google, а так же настроенный проект с правами на доступ к самому календарю.


1. Создание ссылки для подключения в APInita


1.1. Создание нового подключения


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


Передача записей из Rubitime в Google календарь


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


Передача записей из Rubitime в Google календарь


1.2. URL для редиректа


На странице подключения копируем значение поля "URL для редиректа" (1) путем нажатия на него левой кнопкой мыши:


Передача записей из Rubitime в Google календарь


Данное поле понадобится для создания подключения в Google. После создания подключения в Google мы вернемся к настройкам данного подключения в APInita.


2. Создание подключения в Google


2.1. Переходим на https://console.cloud.google.com/ Нажимаем кнопку выбора проекта (1) и затем кнопку "NEW PROJECT" (2):


Передача записей из Rubitime в Google календарь


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


Передача записей из Rubitime в Google календарь


Затем нажимаем кнопку "ENABLE APIS AND SERVICES" (2):


Передача записей из Rubitime в Google календарь


2.3. Встроке поиска (1) вводим "calendar", нажмиаем на клавиатуре кнопку "Enter" и в результатах поиска выбираем "Google Calendar API" (2):


Передача записей из Rubitime в Google календарь


2.4. Нажимаем кнопку "ENABLE" (1):


Передача записей из Rubitime в Google календарь


2.5. Попадаем на страницу продукта и переходим в раздел "OAuth consent screen" (1):


Передача записей из Rubitime в Google календарь


Выбираем "External" (2) и нажмимаем кнопку "CREATE".


2.6. В поле App name укажите название приложения, например "APInita Google Calendar" (1), в поле User support email выберите Ваш Email (2):


Передача записей из Rubitime в Google календарь


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


Передача записей из Rubitime в Google календарь


2.7. Нажимаем кнопку "ADD OR REMOVE SCOPES" (1), в фильтре находим "Google Calendar API /auth/calendar.events" (2), выделяем галочкой (3) и сохраняем нажатием кнопки "UPDATE" внизу:


Передача записей из Rubitime в Google календарь


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


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


Передача записей из Rubitime в Google календарь


2.9. Переходим в раздел "Credentials" (1), нажимаем "CREATE CREDENTIALS" (2) и выбираем "OAuth client ID" (3):


Передача записей из Rubitime в Google календарь


2.10. Выбираем тип приложения "Web application" (1), указываем имя, например "APInita" (2), добавляем redirect URI (3), полученный в пункте 1.2. (1) и нажимаем внизу кнопку "CREATE":


Передача записей из Rubitime в Google календарь


2.11. Скопируйте полученные Client ID (1) и Secret ID (2):


Передача записей из Rubitime в Google календарь


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


Возвращаемся в подключение, созданное на этапе пункта 1.2. и заполняем поля:


Передача записей из Rubitime в Google календарь


3.1. Cliend ID (1): значение, полученное в п. 2.11 (1);


3.2. Client Secret (1): значение, полученное в п. 2.11 (2);


3.3. URL авторизации (3):


https://accounts.google.com/o/oauth2/auth?access_type=offline&response_type=code&client_id={{ client_id }}&nonce={{ random() }}&redirect_uri=https://apinita.ru/connections/4&scope=https://www.googleapis.com/auth/calendar.events

- значение "https://apinita.ru/connections/4" замените на ссылку из п. 1.2 (1);


3.4. URL для получения Access Token (4):


https://oauth2.googleapis.com/token

3.5. Метод: POST. Тип данных: application/x-www-form-urlencoded


3.6.


grant_type: authorization_code
client_id: {{ client_id }}
client_secret: {{ client_secret }}
redirect_uri: https://apinita.ru/connections/4
code: {{ code }}

- значение поля "redirect_uri" замените на ссылку из п. 1.2 (1);


3.7. Оставьте поля пустыми;


3.8. Оставьте поля пустыми;


3.9. Authorization: Bearer {{ access_token }}


3.10. Оставьте поля пустыми;


3.11. 401


3.12. URL для обновления токена: https://oauth2.googleapis.com/token


3.13. Метод: POST. Тип данных: application/x-www-form-urlencoded


3.14.


grant_type: refresh_token
client_id: {{ client_id }}
client_secret: {{ client_secret }}
refresh_token: {{ refresh_token }}

3.15. Оставьте поля пустыми.


3.16. После ввода всех данных - нажмите кнопку "Сохранить и авторизоваться", перед Вами появится окно, выберите в нем свой аккаунт Google:


Передача записей из Rubitime в Google календарь


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


Передача записей из Rubitime в Google календарь


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


Передача записей из Rubitime в Google календарь


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


Передача записей из Rubitime в Google календарь


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


4. Получение ID Google календаря


4.1. Если у Вас один календарь, пропустите пункт 4.2. и 4.3. ID Вашего календаря - primary Если календарей несколько и нужно отправлять данные в конкретный - выполните следующий пункт 4.2.


4.2 Откройте Ваш Google календарь, нажмите на иконку шестеренки (1) и перейдите в раздел настроек (2):


Передача записей из Rubitime в Google календарь



4.3. Выберите нужный календарь (4), промотайте вниз страницы и скопируйте значение поля "Идентификатор календаря" (5):


Передача записей из Rubitime в Google календарь


5. Создание сценария


5.1. В разделе "Сценарии" нажмите "+" (1):


Передача записей из Rubitime в Google календарь


5.2. Первым шагом создайте Webhook и скопируйте полученный URL (1):


Передача записей из Rubitime в Google календарь


5.3. Вторым шагом создайте HTTP-модуль и внесите в него следующие данные:


Передача записей из Rubitime в Google календарь


Название шага: Передаем данные записи к календарь

Метод: POST Тип данных: application/json


Поля запроса:


start.dateTime


{{ s1.body.data.record|dateUtc('Y-m-d\\TH:i:sP') }}

end.dateTime:


{{ (s1.body.data.record|date_modify('+'~s1.body.data.duration~' minutes'))|dateUtc('Y-m-d\\TH:i:sP') }}

summary:


{{ s1.body.data.name }}

description:


Телефон: {{ s1.body.data.phone }}<br>Email: {{ s1.body.data.email }}

В поле "Подключение" выберите подключение, созданное в пункте 3, сохраните настройки.


В название передаем ФИО клиента, в описание записи - телефон и Email, время начала записи преобразуем в UTC и формат RFC3339, время конца получаем из времени начала + длительность. Вы можете добавить/изменить/удалить нужные Вам данные как поступающие из Rubitime (посмотреть все доступные данные Вы можете на вкладке "Входные" нажав на первый шаг модуля Webhook), так и создающиеся на стороне Google-календаря (документация: https://developers.google.com/calendar/api/v3/reference/events/insert?hl=ru)


5.4. Включите сценарий (1):


Передача записей из Rubitime в Google календарь


5.5. На стороне Rubitime вставьте ссылку на Webhook (1), полученную на шаге 5.1 (1), укажите в качестве отправляемого события "Создание записи" (2) и сохраните настройки:


Передача записей из Rubitime в Google календарь

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

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

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

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

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

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

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

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