1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-12-25 02:42:28 +02:00

Google Calendar: Документация по календарям

This commit is contained in:
Anton Titovets 2024-02-20 11:51:58 +03:00
parent 85ebe3c48a
commit f2c0f1c5fe
10 changed files with 207 additions and 8 deletions

View File

@ -10,7 +10,7 @@ id: GoogleCalendar
## Начало работы
Для начала работы необходимо получить токен доступа Google:
### Создание проекта
1. Перейдите на [главную страницу Google Cloud](https://console.cloud.google.com) и создайте проект
@ -36,27 +36,42 @@ id: GoogleCalendar
![BF](../../static/img/Docs/GoogleCalendar/6.png)
7. В боковом меню выберите пункт Credentials -> Create Credentials -> OAuth client ID
### Настройка OAuth
1. В боковом меню выберите пункт Credentials -> Create Credentials -> OAuth client ID
![BF](../../static/img/Docs/GoogleCalendar/7.png)
8. Введите имя и выберите Application type - Desktop app
2. Введите имя и выберите Application type - Desktop app
![BF](../../static/img/Docs/GoogleCalendar/8.png)
9. Сохраните ClientID и Client Secret
3. Сохраните ClientID и Client Secret
![BF](../../static/img/Docs/GoogleCalendar/9.png)
10. Передайте ClientID в функцию OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID). Результатом функции будет URL, который необходимо открыть в браузере. Авторизуйтесь при помощи своего аккаунта Google
### Включение сервиса 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)
### Получение Токена
1. Передайте ClientID в функцию OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID). Результатом функции будет URL, который необходимо открыть в браузере. Авторизуйтесь при помощи своего аккаунта Google
![BF](../../static/img/Docs/GoogleCalendar/10.png)
11. Скопируйте код из URL после авторизации
2. Скопируйте код из URL после авторизации
![BF](../../static/img/Docs/GoogleCalendar/11.png)
12. Используйте полученный код, ClientID и Client Secret для вызова функции OPI_GoogleWorkspace.ПолучитьТокенПоКоду(ClientID, ClientSecret, Code)
3. Используйте полученный код, ClientID и Client Secret для вызова функции OPI_GoogleWorkspace.ПолучитьТокенПоКоду(ClientID, ClientSecret, Code)
```json title="Результат функции ПолучитьТокенПоКоду(), если перевести его в JSON"
@ -70,4 +85,4 @@ id: GoogleCalendar
```
13. Используйте **access_token** для передачи в качестве параметра Токен при вызове функций библиотеки, а refresh_token - для получения нового access_token (функция OPI_GoogleWorkspace.ОбновитьТокен(ClientID, ClientSecret, RefreshToken)), когда время жизни старого истечет. При обновлении токена refresh_token не обновляется - вы можете использовать его один и тот же для получения нового access_token каждый раз.
4. Используйте **access_token** для передачи в качестве параметра Токен при вызове функций библиотеки, а refresh_token - для получения нового access_token (функция OPI_GoogleWorkspace.ОбновитьТокен(ClientID, ClientSecret, RefreshToken)), когда время жизни старого истечет. При обновлении токена refresh_token не обновляется - вы можете использовать его один и тот же для получения нового access_token каждый раз.

View File

@ -0,0 +1,46 @@
---
sidebar_position: 2
---
# Изменить метаданные календаря
Изменяет поля метаданных календаря
*Функция ИзменитьМетаданныеКалендаря(Знач Токен, Знач Календарь, Знач Наименование = "", Знач Описание = "") Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен доступа |
| Календарь | Строка | ID календаря для изменения |
| Наименование | Строка (необяз.) | Новое наименование календаря |
| Описание | Строка (необяз.) | Новое описание календаря |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Google
```bsl title="Пример кода"
Наименование = "Тестовый календарь (изм.)";
Описание = "Тестовое описание";
Ответ = OPI_GoogleCalendar.ИзменитьМетаданныеКалендаря(Токен, "55868c32be16935f0...", Наименование, Описание); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //Строка
```
![Результат](img/2.png)
```json title="Результат"
{
"conferenceProperties": {
"allowedConferenceSolutionTypes": [
"hangoutsMeet"
]
},
"description": "Тестовое описание",
"summary": "Тестовый календарь (изм.)",
"timeZone": "UTC",
"id": "75b64bec8700a640b004af3491867ac5e479884794f529699da23e7009f7d691@group.calendar.google.com",
"etag": "\"x8eLqpmgoxpEDEXmEbsZxxgmJhc\"",
"kind": "calendar#calendar"
}
```

View File

@ -0,0 +1,26 @@
---
sidebar_position: 5
---
# Очистить основной календарь
Удаляет все события основного календаря (так как его, в отличии от остальных, нельзя удалить)
*Функция ОчиститьОсновнойКалендарь(Знач Токен) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен доступа |
Вовзращаемое значение: Пустая строка
```bsl title="Пример кода"
Ответ = OPI_GoogleCalendar.ОчиститьОсновнойКалендарь(Токен);
```
```json title="Результат"
""
```

View File

@ -0,0 +1,40 @@
---
sidebar_position: 3
---
# Получить метаданные календаря
Получает метаданные календаря по ID
*Функция ПолучитьМетаданныеКалендаря(Знач Токен, Знач Календарь) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен доступа |
| Календарь | Строка | ID календаря |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Google
```bsl title="Пример кода"
Ответ = OPI_GoogleCalendar.ПолучитьМетаданныеКалендаря(Токен, "55868c32be16935f0..."); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //Строка
```
```json title="Результат"
{
"conferenceProperties": {
"allowedConferenceSolutionTypes": [
"hangoutsMeet"
]
},
"description": "Тестовое описание",
"summary": "Тестовый календарь (изм.)",
"timeZone": "UTC",
"id": "155868c32be26e4c4123a107810d40b929b516935f080e4747261fdc3416227c@group.calendar.google.com",
"etag": "\"4A10_PI6FFY129ggELzZ8veUU-U\"",
"kind": "calendar#calendar"
}
```

View File

@ -0,0 +1,41 @@
---
sidebar_position: 1
---
# Создать календарь
Создает новый календарь
*Функция СоздатьКалендарь(Знач Токен, Знач Наименование) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен доступа |
| Наименование | Строка | Наименование создаваемого календаря |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Google
```bsl title="Пример кода"
Ответ = OPI_GoogleCalendar.СоздатьКалендарь(Токен, "Тестовый календарь"); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //Строка
```
![Результат](img/1.png)
```json title="Результат"
{
"conferenceProperties": {
"allowedConferenceSolutionTypes": [
"hangoutsMeet"
]
},
"summary": "Тестовый календарь",
"timeZone": "UTC",
"id": "75b64bec8700a640b004af3491867ac5e479884794f529699da23e7009f7d691@group.calendar.google.com",
"etag": "\"ZlOrbHnYjwJB0APkTQupgFm7F3s\"",
"kind": "calendar#calendar"
}
```

View File

@ -0,0 +1,27 @@
---
sidebar_position: 4
---
# Удалить календарь
Удаляет созданный ранее календарь
*Функция УдалитьКалендарь(Знач Токен, Знач Календарь) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен доступа |
| Календарь | Строка | ID календаря для удаления |
Вовзращаемое значение: Пустая строка
```bsl title="Пример кода"
Ответ = OPI_GoogleCalendar.УдалитьКалендарь(Токен, "55868c32be16935f0...");
```
```json title="Результат"
""
```

View File

@ -0,0 +1,4 @@
{
"label": "Работа с метаданными календарей",
"position": 1,
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB