mirror of
https://github.com/Bayselonarrend/OpenIntegrations.git
synced 2024-12-29 02:57:35 +02:00
99 lines
4.6 KiB
Markdown
99 lines
4.6 KiB
Markdown
|
---
|
||
|
id: GoogleDrive
|
||
|
sidebar_class_name: 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.СформироватьСсылкуПолученияКода() с булево параметрами используемых вами сервисов. Результатом функции будет 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 каждый раз.
|