1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-21 01:50:24 +02:00
OpenIntegrations/docs/ru/md/Google_Calendar/Google_Calendar.md
2024-06-05 15:34:54 +03:00

99 lines
4.6 KiB
Markdown

---
id: GoogleCalendar
sidebar_class_name: GoogleCalendar
---
<img src={require('../../static/img/APIs/GoogleCalendar.png').default} width='64px' />
# Google Календарь
Этот раздел посвящен библиотеке для работы с API Google Calendar. На данной странице описаны все действия, необходимые для полноценного начала работы
:::important
Если вы уже используете ОПИ для работы с другими сервисами Google Workspase и выполняли стартовую настройку, то пункты **Создание проекта** и **Настройка OAuth** можно пропустить. Необходимо лишь **включить сервис Google Drive** в своем проекте и **заново получить токен** (последние два пункта инструкции).
:::
## Начало работы
<hr/>
### Создание проекта
1. Перейдите на [главную страницу Google Cloud](https://console.cloud.google.com) и создайте проект
![BF](../../static/img/Docs/GoogleCalendar/1.png)
2. Выберите созданный проект и в боковом меню перейдите APIs and Services -> OAuth consent screen
![BF](../../static/img/Docs/GoogleCalendar/2.png)
3. Выберите пункт External
![BF](../../static/img/Docs/GoogleCalendar/3.png)
4. Заполните поля App name, User support email и Email addresses (все поля со звездочками)
![BF](../../static/img/Docs/GoogleCalendar/4.png)
5. Нажимайте далее и Save and continue на последней вкладке
![BF](../../static/img/Docs/GoogleCalendar/5.png)
6. Нажмите Publish App
![BF](../../static/img/Docs/GoogleCalendar/6.png)
<hr/>
### Настройка OAuth
1. В боковом меню выберите пункт Credentials -> Create Credentials -> OAuth client ID
![BF](../../static/img/Docs/GoogleCalendar/7.png)
2. Введите имя и выберите Application type - Desktop app
![BF](../../static/img/Docs/GoogleCalendar/8.png)
3. Сохраните ClientID и Client Secret
![BF](../../static/img/Docs/GoogleCalendar/9.png)
<hr/>
### Включение сервиса Google Calendar
1. Перейдите на [страницу Календаря в Marketplace](https://console.cloud.google.com/marketplace/product/google/calendar-json.googleapis.com)
2. Нажмите Enable
![BF](../../static/img/Docs/GoogleCalendar/12.png)
<hr/>
### Получение Токена
1. Передайте ClientID в функцию OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода() с булево параметрами используемых вами сервисов. Результатом функции будет URL, который необходимо открыть в браузере. Авторизуйтесь при помощи своего аккаунта Google
![BF](../../static/img/Docs/GoogleCalendar/10.png)
2. Скопируйте код из URL после авторизации
![BF](../../static/img/Docs/GoogleCalendar/11.png)
3. Используйте полученный код, ClientID и Client Secret для вызова функции OPI_GoogleWorkspace.ПолучитьТокенПоКоду(ClientID, ClientSecret, Code)
```json title="Результат функции ПолучитьТокенПоКоду(), если перевести его в 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"
}
```
4. Используйте **access_token** для передачи в качестве параметра Токен при вызове функций библиотеки, а refresh_token - для получения нового access_token (функция OPI_GoogleWorkspace.ОбновитьТокен(ClientID, ClientSecret, RefreshToken)), когда время жизни старого истечет. При обновлении токена refresh_token не обновляется - вы можете использовать его один и тот же для получения нового access_token каждый раз.