Вводим название подключения (3), в типе подключения выбираем "OAuth 2.0" (4) и нажмимаем "Начать настройку":
На странице подключения копируем значение поля "URL для редиректа" (1) путем нажатия на него левой кнопкой мыши:
Данное поле понадобится для создания подключения в Google. После создания подключения в Google мы вернемся к настройкам данного подключения в APInita.
2.1. Переходим на https://console.cloud.google.com/ Нажимаем кнопку выбора проекта (1) и затем кнопку "NEW PROJECT" (2):
2.2. В открывшемся окне указываем произвольное название проекта, например "APInita Google Calendar" и нажимаем кнопку "CREATE":
Затем нажимаем кнопку "ENABLE APIS AND SERVICES" (2):
2.3. Встроке поиска (1) вводим "calendar", нажмиаем на клавиатуре кнопку "Enter" и в результатах поиска выбираем "Google Calendar API" (2):
2.4. Нажимаем кнопку "ENABLE" (1):
2.5. Попадаем на страницу продукта и переходим в раздел "OAuth consent screen" (1):
Выбираем "External" (2) и нажмимаем кнопку "CREATE".
2.6. В поле App name укажите название приложения, например "APInita Google Calendar" (1), в поле User support email выберите Ваш Email (2):
Далее промотайте вниз страницы и в поле Email addresses укажите Ваш Email (3) и нажмите кнопку "SAVE AND CONTINUE":
2.7. Нажимаем кнопку "ADD OR REMOVE SCOPES" (1), в фильтре находим "Google Calendar API /auth/calendar.events" (2), выделяем галочкой (3) и сохраняем нажатием кнопки "UPDATE" внизу:
Далее внизу страницы нажимаем "SAVE AND CONTINUE" и переходим на следующий шаг.
2.8. Нажимаем кнопку "ADD USERS" (1), добавляем Ваш Email (2), нажимаем кнопку "ADD", а затем "SAVE AND CONTINUE":
2.9. Переходим в раздел "Credentials" (1), нажимаем "CREATE CREDENTIALS" (2) и выбираем "OAuth client ID" (3):
2.10. Выбираем тип приложения "Web application" (1), указываем имя, например "APInita" (2), добавляем redirect URI (3), полученный в пункте 1.2. (1) и нажимаем внизу кнопку "CREATE":
2.11. Скопируйте полученные Client ID (1) и Secret ID (2):
Возвращаемся в подключение, созданное на этапе пункта 1.2. и заполняем поля:
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:
Далее нажмите кнопку "Продолжить":
Далее так же нажмите "Продолжить":
Если все прошло корректно, Вы вернетесь на страницу подключения в APInita, а статус подключения будет "Подключено":
3.17. Информационный пункт, не нужен для работы. Если Вам потребуется отменить подключение и/или переподключиться, сделать это можно по ссылке: https://myaccount.google.com/connections Для повторного подключения снова нажмите кнопку "Сохранить и авторизоваться" в подключении APInita.
4.1. Если у Вас один календарь, пропустите пункт 4.2. и 4.3. ID Вашего календаря - primary Если календарей несколько и нужно отправлять данные в конкретный - выполните следующий пункт 4.2.
4.2 Откройте Ваш Google календарь, нажмите на иконку шестеренки (1) и перейдите в раздел настроек (2):
4.3. Выберите нужный календарь (4), промотайте вниз страницы и скопируйте значение поля "Идентификатор календаря" (5):
5.1. В разделе "Сценарии" нажмите "+" (1):
5.2. Первым шагом создайте Webhook и скопируйте полученный URL (1):
5.3. Вторым шагом создайте HTTP-модуль и внесите в него следующие данные:
Название шага: Передаем данные записи к календарь
Метод: 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):
5.5. На стороне Rubitime вставьте ссылку на Webhook (1), полученную на шаге 5.1 (1), укажите в качестве отправляемого события "Создание записи" (2) и сохраните настройки:
Оставить комментарий