Перейти к основному содержимому

Google Календарь

Начало работы

Для начала работы необходимо создать аккаунт и новый проект на главной странице консоли Google Cloud, после чего подключить сервис Calendar на его странице в Marketplace

Далее необходимо получить токен доступа для авторизации при вызове функций библиотеки. Сделать это можно одним из двух способов:

Авторизация через Service Account

Получить токен доступа можно при помощи секретного ключа Service Account. Для этого необходимо:

  1. Выбрать проект и в боковом меню перейти в раздел IAM & Admin -> Service Accounts
  2. Нажать Create service account и заполнить необходимые поля для создания нового аккаунта
  3. В списке аккаунтов найти созданный и нажать Actions (три точки) в правой части записи
  4. Выбрать пункт Manage keys
  5. Нажать Add key -> Create new key
  6. Выбрать JSON и скачать данные полученного ключа

Далее полученный JSON файл необходимо передать (как коллекцию, путь к файлу или двоичные данные) в функцию ПолучитьТокенServiceАккаунта. Также при вызове этой функции можно указать доступы и время жизни полученного токена. По истечении времени жизни, новый токен может быть получен повторным вызовом функции ПолучитьТокенServiceАккаунта

OAuth авторизация

OAuth авторизация позволяет получать временный обновляемый токен доступа для конкретного пользователя Google через страницу авторизации. Для активации OAuth авторизации в проекте необходимо выполнить следуюшие действия:

  1. Выберите проект и в боковом меню перейдите в раздел APIs and Services -> OAuth consent screen
  2. Выберите пункт External
  3. Заполните необходимую информацию в предложенных полях
  4. Нажмите Save and continue по окончанию процесса настройки
  5. Нажмите Publish App
  6. В боковом меню выберите пункт Credentials -> Create Credentials -> OAuth client ID
  7. Введите имя и выберите Application type - Desktop app
  8. Сохраните ClientID и Client Secret

После получения клиентского ID, необходимо получить URL для авторизации. Сделать это можно передав ClientID в функцию СформироватьСсылкуПолученияКода. Полученную в результате выполнения функцию ссылку необходимо открыть в барузере, авторизоваться со своим аккаунтом Google, после чего быстро передать код доступа из URL (текст в адресной строке после code=) в функцию ПолучитьТокенПоКоду

important

Время жизни кода крайне мало. После перехода по ссылке из функции СформироватьСсылкуПолученияКода и авторизации со своим аккаунтом Google, необходимо максимально быстро передать его в функцию ПолучитьТокенПоКоду. Лучше всего заранее подготовить обработку с полем для ввода и кнопкой (в 1С), либо же использовать CLI версию ОПИ. В случае истечения срока жизни кода до выполнения функции ПолучитьТокенПоКоду, будет получена ошибка invalid_grant

В результате функции будет структура, содержащая access_token и refresh_token: первый служит для использования при вызове остальных функций библиотеки, а второй - для получения нового access_token по истечению срока его действия (при помощи функции ОбновитьТокен)

refresh_token не изменяется при получении нового access_token и может быть использован многократно

Результат функции ПолучитьТокенПоКоду в виде JSON

{
"token_type": "Bearer",
"refresh_token": "1//09au6OES3JN9oCgYIARAAGAkSNwF-L9Ir1B7uawfwafT1wE0FKO519Xj6JxawfawfyjMyJ_QlUZYLHZqw",
"scope": "https://www.googleapis.com/auth/calendar",
"expires_in": 3599,
"access_token": "ya29.a0AfB_byA344tXkIawdawdwadadhyZQV8bSZn_snNXtY2HLb7l71awdawdawdad-ASgpzyOSWIvEmPruhUa_1yCCq6jvoD0r_q-fNEsARrH8zpJ3c6LNGWvwdg8CXsSxYaCgYKAWkSawfwafawfrCK0EP5kZY_A0171"
}