---
id: YandexDisk
sidebar_class_name: YandexDisk
---
# Яндекс Диск
Этот раздел посвящен библиотеке для работы с Яндекс Диск API. На данной странице описаны все действия, необходимые для полноценного начала работы
## Начало работы
Для начала работы необходимо получить токен доступа к диску:
1. Перейдите на [страницу создания приложения](https://oauth.yandex.ru/client/new/)
![BF](../../static/img/Docs/YandexDisk/1.png)
2. Введите название сервиса, выберите *Веб-сервисы* в качестве платформы. Redirect URI можно указать любой или выбрать пункт *Подставить URL для отладки* - для работы с библиотекой он не понадобится.
![BF](../../static/img/Docs/YandexDisk/3.png)
3. В поле *Доступ к данным* добавьте разрешения как на скриншоте ниже, после чего нажмите *Создать приложение*
![BF](../../static/img/Docs/YandexDisk/2.png)
4. Сохраните **ClientID** и **Client secret** со страницы приложения
![BF](../../static/img/Docs/YandexDisk/4.png)
5. Вызовите функцию *OPI_YandexID.ПолучитьКодПодтверждения()*, передав ClientID в качестве параметра. Она вернет ответ сервера Yandex, где будут поля
- **user_code** - необходимо будет ввести в браузере
- **device_code** - необходимо будет передать в другую функцию
- **verification_url** - URL, который нужно открыть в браузере
```json title="Результат функции ПолучитьКодПодтверждения(), если перевести его в JSON"
{
"verification_url": "https://ya.ru/device",
"user_code": "gjehyruw",
"interval": 5,
"expires_in": 300,
"device_code": "12207cafec1b40ad8d0052af3faf0d12"
}
```
6. Откройте URL из **verification_url** в барузере. Скорее всего это будет https://ya.ru/device. В появившееся поле введите **user_code** из пункта 5
![BF](../../static/img/Docs/YandexDisk/5.png)
7. После ввода кода в пункте 6, вызовите функцию *OPI_YandexID.ПреобразоватьКодВТокен()*, передав туда **ClientID** и **ClientSecret** из пункта 4, а также **device_code** из пункта 5. Сохраните полученные **acess_token** и **refresh_token**
```json title="Результат функции ПреобразоватьКодВТокен(), если перевести его в JSON"
{
"token_type": "bearer",
"refresh_token": "1:Tj6nD2vgE2L8jwSm:YgWjQXPv6_y3e07GW70ig2AOyEXoRVsKKpApGHq2EOg7pfx0MKrXiCrfLBFtzgQawdawdwadad3Sasa9z2H0vSeZKNmZmA",
"expires_in": 31535956,
"access_token": "y0_AgAAAABWxxdkAAs0QgAAAAD59cawdawdwadadVKIiwGK__crw"
}
```
**acess_token** используется во всех остальных функциях библиотеки, а при помощи **refresh_token** его можно обновить, когда срок жизни будет подходить к концу (при помощи функции *ОбновитьТокен()*)