Синхронизация с календарём Google

Синхронизация с календарём Google доступна в версии 7.11 и выше.

SuiteCRM может синхронизировать Встречи с календарём Google. Синхронизация работает в обе стороны, таким образом, обновление данных с одной стороны приведёт к обновлению данных и с другой стороны.

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

Требования

Учётные данные

Для синхронизации данных между SuiteCRM и календарём в системе должны быть сохранены соответствующие учётные данные.

Учётные данные создаются в консоли разработчика Google, сохраняются локально в формате JSON, и загружаются в SuiteCRM. Более детально этот процесс описан ниже.

Наличие доступа в интернет сервера с установленным SuiteCRM

Сервер SuiteCRM должен иметь доступ к Интернету; сервер не обязательно должен быть общедоступным. Для настройки процесса синхронизации пользователь системы должен иметь доступ как к консоли разработчика Google, так и к панели администрирования SuiteCRM. По окончании настройки процесс синхронизации выполняется автоматически по расписанию Планировщика без какого-либо участия со стороны пользователя.

Наличие как минимум одного аккаунта Google

Необходим аккаунт для создания учётных данных и аккаунт для осуществления процесса синхронизации. Это может быть один и тот же аккаунт, если в SuiteCRM зарегистрирован только один пользователь. Учётные данные создаются только один раз из одной учётной записи. Эти учётные данные будут использоваться для синхронизации всех пользователей после входа пользователей в свои аккаунты. Может использоваться как личный аккаунт Google, так и аккаунт G Suite для организаций (любой версии - Basic, Business, или Enterprise).

Создание и установка учётных данных

Создание учётных данных

Войдите в свой аккаунт Google и перейдите в консоль разработчика.

В верхней части меню выберите пункт Выбрать проект или нажмите на аналогичную кнопку в правой части страницы.

Google APIs - выбор проекта

В панели управления нажмите на кнопку Создать.

Google APIs - создание проекта

Присвойте проекту название, например, SuiteCRM Google Sync и нажмите на кнопку Создать.

Google APIs - присвоение имени проекту

В верхней части меню выберите пункт Выбрать проект…​

Google APIs - выбор проекта

…​и выберите только что созданный проект.

Google APIs - выбор созданного проекта

В верхней части меню нажмите на пункт GoogleAPIs…​

Google APIs - доступ к меню

…​ после чего в левом меню выберите пункт Библиотека.

Google APIs - выбор библиотеки

В окне поиска введите Calendar, в результатах поиска выберите Google Calendar API.

Google APIs - выбор Google Calendar API

Нажмите на кнопку Включить.

Google APIs - включение API

Теперь, когда API включено, необходимо настроить учётные данные, в правой части страницы нажмите на кнопку Создать.

Google APIs - создание учётных данных

В первой части настройки установите параметры в соответствии с изображением и нажмите на кнопку Выбрать тип учётных данных.

Google APIs - настройка учётных данных

Во второй части настройки добавьте название, например - SuiteCRM Google Sync, поле Разрешённые источники JavaScript оставьте пустым.

В поле Разрешённые URI перенаправления введите https://crm.mydomain.ru/index.php?entryPoint=saveGoogleApiKey, где crm.mydomain.ru - доменное имя сервера с установленной SuiteCRM.

Настоятельно рекомендуется включить на веб-сервере протокол https.

По окончании настройки нажмите на кнопку Создать идентификатор клиента OAuth.

Google APIs - создание идентификатора клиента OAuth

В третьей части настройки укажите адрес электронной почты, название продукта, которое видят пользователи, например - SuiteCRM Calendar Sync и нажмите на кнопку Продолжить.

Google APIs - завершение настройки учётных данных

На финальной станице нажмите на кнопку Скачать и сохраните JSON-файл с созданными учётными данными. Нажмите на кнопку Готово.

Google APIs - сохранение JSON-файла с созданными учётными данными

Установка учётных данных

Войдите в систему с правами администратора и в панели администрирования перейдите подраздел Сервисы GoogleНастройка Google Календарь.

Нажмите на кнопку Обзор и выберите ранее сохранённый JSON-файл с учётными данными. Нажмите на кнопку Сохранить.

image14

Вновь откройте настройки конфигурации и убедитесь, что JSON-файл установлен, о чем будет информировать соответствующая надпись. Если необходимо обновить учётные данные - просто загрузите новый файл поверх существующего.

image15

Настройка доступа к календарю Google

В меню пользователя откройте профиль текущего пользователя, выбрав пункт меню Мои настройки.

SuiteCRM→Мои настройки

Перейдите на закладку Дополнительно.

SuiteCRM→Мои настройки→Дополнительно

В подразделе Синхронизация с календарём Google нажмите на кнопку Авторизация (если подраздел не отображается на закладке, значит JSON-файл с учётными данными не был установлен - см. выше).

Синхронизация с календарём Google→Авторизация

Если вы используете несколько различных аккаунтов Google, то будет выдан запрос на выбор аккаунта, с которым будет производиться синхронизация. При использовании единственного аккаунта будет разу выведен аналог следующего диалога:

image19

Нажмите на кнопку Разрешить, после чего вы будете перенаправлены на страницу настроек пользователя. Если все сделано правильно, то настройки синхронизации будут выглядеть следующим образом:

Синхронизация с календарём Google→Пройденная авторизация

В конце настройки отметьте параметр Включить синхронизацию с календарём Google и нажмите на кнопку Сохранить.

По умолчанию синхронизация происходит каждые 15 минут, при необходимости вы можете указать желаемый интервал синхронизации в параметрах задания Синхронизировать с календарём Google на странице настроек Планировщика.

Известные проблемы

Начиная с SuiteCRM версии 7.12 появилась возможность изменять название календаря при синхронизации с Google через установку соответствующего значения переменной google_calendar_sync_name, прописав её в файле конфигурации (config.php). Если значение этой переменной будет изменено, это приведет к повторной синхронизации ВСЕХ встреч. Это связано с тем, что при изменении значения Google определяет все текущие встречи как новые, уникальные значения Календаря.

Лучший способ избежать этого - не изменять значения переменной google_calendar_sync_name.

Отключение синхронизации с календарём Google

Если возникла необходимость полностью отключить синхронизацию с календарём Google или заново добавить токен календаря, выполните следующие действия:

  1. Отключите задание Синхронизировать с календарём Google на странице настроек Планировщика.

  2. Удалите или закомментируйте строку токена в файле config_override.php:

$sugar_config['google_auth_json'] = '...';

Если необходимо отключить синхронизацию у конкретного пользователя - сделайте это в его профиле. Для этого в меню пользователя откройте профиль текущего пользователя, выбрав пункт меню Мои настройки, на закладке Дополнительно отключите параметр Включить синхронизацию с календарём Google и нажмите на кнопку Сохранить.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.