1
0
mirror of https://github.com/Bayselonarrend/OpenIntegrations.git synced 2024-11-28 09:08:38 +02:00

Документация Google Drive

This commit is contained in:
Anton 2024-03-12 20:23:40 +03:00
parent 57f4d81698
commit febe30823f
7 changed files with 252 additions and 0 deletions

View File

@ -8,8 +8,14 @@ id: GoogleCalendar
Этот раздел посвящен библиотеке для работы с API Google Календаря. На данной странице описаны все действия, необходимые для полноценного начала работы
:::important
Если вы уже используете ОПИ для работы с другими сервисами Google Workspase и выполняли стартовую настройку, то пункты **Создание проекта** и **Настройка OAuth** можно пропустить. Необходимо лишь **включить сервис Google Drive** в своем проекте и **заново получить токен** (последние два пункта инструкции).
:::
## Начало работы
<hr/>
### Создание проекта
1. Перейдите на [главную страницу Google Cloud](https://console.cloud.google.com) и создайте проект
@ -36,6 +42,7 @@ id: GoogleCalendar
![BF](../../static/img/Docs/GoogleCalendar/6.png)
<hr/>
### Настройка OAuth
@ -51,6 +58,7 @@ id: GoogleCalendar
![BF](../../static/img/Docs/GoogleCalendar/9.png)
<hr/>
### Включение сервиса Google Calendar
@ -60,6 +68,7 @@ id: GoogleCalendar
![BF](../../static/img/Docs/GoogleCalendar/12.png)
<hr/>
### Получение Токена

View File

@ -0,0 +1,97 @@
---
id: GoogleDrive
---
<img src={require('../../static/img/APIs/GoogleDrive.png').default} width='64px' />
# Google Drive
Этот раздел посвящен библиотеке для работы с API Google Drive. На данной странице описаны все действия, необходимые для полноценного начала работы
:::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 Drive
1. Перейдите на [страницу Drive в Marketplace](https://console.cloud.google.com/marketplace/product/google/drive.googleapis.com)
2. Нажмите Enable
![BF](../../static/img/Docs/GoogleDrive/1.png)
<hr/>
### Получение Токена
1. Передайте ClientID в функцию OPI_GoogleWorkspace.СформироватьСсылкуПолученияКода(ClientID). Результатом функции будет 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/...",
"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 каждый раз.

View File

@ -0,0 +1,134 @@
---
sidebar_position: 1
---
# Получить информацию об объекте
Получает информацию о файле или каталоге
*Функция ПолучитьИнформациюОбОбъекте(Знач Токен, Знач Идентификатор) Экспорт*
| Параметр | Тип | Назначение |
|-|-|-|
| Токен | Строка | Токен доступа |
| Идентификатор | Строка | Идентификатор объекта |
Вовзращаемое значение: Соответствие - сериализованный JSON ответа от Yandex
```bsl title="Пример кода"
Идентификатор = "1dg_MwwwPSPYT0p3y-8dvGWoapbwaaaaa";
Ответ = OPI_GoogleDrive.ПолучитьИнформациюОбОбъекте(Токен, Идентификатор); //Соответствие
Ответ = OPI_Инструменты.JSONСтрокой(Ответ); //Строка
```
```json title="Результат"
{
"linkShareMetadata": {
"securityUpdateEnabled": true,
"securityUpdateEligible": false
},
"quotaBytesUsed": "0",
"folderColorRgb": "#8f8f8f",
"writersCanShare": true,
"lastModifyingUser": {
"emailAddress": "bayselonarrend@gmail.com",
"permissionId": "07468399490707249352",
"me": true,
"photoLink": "https://lh3.googleusercontent.com/a/ACg8ocLx8JGurt0UjXFwwTiB6ZoDPWslW1EnfCTahrwrIllM6Q=s64",
"displayName": "Антон Титовец",
"kind": "drive#user"
},
"modifiedByMe": true,
"capabilities": {
"canUntrash": true,
"canTrash": true,
"canRemoveMyDriveParent": true,
"canRemoveContentRestriction": false,
"canRemoveChildren": true,
"canMoveItemWithinDrive": true,
"canMoveItemOutOfDrive": true,
"canMoveItemIntoTeamDrive": true,
"canModifyLabels": false,
"canModifyOwnerContentRestriction": false,
"canReadRevisions": false,
"canModifyContentRestriction": false,
"canShare": true,
"canModifyContent": true,
"canDownload": true,
"canMoveChildrenWithinDrive": true,
"canCopy": false,
"canModifyEditorContentRestriction": false,
"canChangeSecurityUpdateEnabled": false,
"canRename": true,
"canChangeCopyRequiresWriterPermission": false,
"canDelete": true,
"canChangeViewersCanCopyContent": false,
"canEdit": true,
"canReadLabels": false,
"canAddMyDriveParent": false,
"canComment": true,
"canAddChildren": true,
"canListChildren": true,
"canAcceptOwnership": false
},
"copyRequiresWriterPermission": false,
"modifiedTime": "2023-12-28T13:22:03.333Z",
"createdTime": "2023-12-28T13:22:00.683Z",
"viewedByMeTime": "2023-12-28T13:22:00.683Z",
"viewedByMe": true,
"shared": false,
"hasThumbnail": false,
"version": "3",
"owners": [
{
"emailAddress": "bayselonarrend@gmail.com",
"permissionId": "07468399490707249352",
"me": true,
"photoLink": "https://lh3.googleusercontent.com/a/ACg8ocLx8JGurt0UjXFwwTiB6ZoDPWslW1EnfCTahrwrIllM6Q=s64",
"displayName": "Антон Титовец",
"kind": "drive#user"
}
],
"isAppAuthorized": false,
"webViewLink": "https://drive.google.com/drive/folders/1dg_MhZrLoPSPYT0p3y-8dvGWoapbwiDm",
"spaces": [
"drive"
],
"modifiedByMeTime": "2023-12-28T13:22:03.333Z",
"permissionIds": [
"07468399490707249352"
],
"explicitlyTrashed": false,
"parents": [
"1603PU_Hrkvj4HeFJKYSVxZJDRoGvd3SJ"
],
"ownedByMe": true,
"trashed": false,
"iconLink": "https://drive-thirdparty.googleusercontent.com/16/type/application/vnd.google-apps.folder",
"viewersCanCopyContent": true,
"mimeType": "application/vnd.google-apps.folder",
"permissions": [
{
"pendingOwner": false,
"photoLink": "https://lh3.googleusercontent.com/a/ACg8ocLx8JGurt0UjXFwwTiB6ZoDPWslW1EnfCTahrwrIllM6Q=s64",
"role": "owner",
"emailAddress": "bayselonarrend@gmail.com",
"type": "user",
"deleted": false,
"displayName": "Антон Титовец",
"id": "07468399490707249352",
"kind": "drive#permission"
}
],
"name": "ОПИ",
"starred": false,
"id": "1dg_MwwwPSPYT0p3y-8dvGWoapbwaaaaa",
"kind": "drive#file",
"thumbnailVersion": "0"
}
```

View File

@ -0,0 +1,4 @@
{
"label": "Работа с файлами и папками",
"position": 1,
}

View File

@ -0,0 +1,8 @@
{
"label": "Google Drive",
"position": 8,
"link": {
"type": "doc",
"id": "GoogleDrive"
}
}

BIN
docs/static/img/APIs/GoogleDrive.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

BIN
docs/static/img/Docs/GoogleDrive/1.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB