Импорт Excel-файла с Яндекс.Диска
Демопример показывает, как загрузить Excel-файл с Яндекс.Диска в Loginom через API Яндекс.Диска.
Сценарий формирует URL для обращения к файлу, выполняет REST-запрос к сервису Яндекс.Диска, получает временную ссылку на скачивание файла и передаёт её в узел импорта Excel.
Такой подход можно использовать, когда файл хранится на Яндекс.Диске и должен загружаться в сценарий без ручного скачивания на локальный компьютер.
Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.
Предварительная подготовка
Для работы сценария необходимо создать OAuth-приложение Яндекса и получить OAuth-токен с правами доступа к Яндекс.Диску.
Сначала необходимо создать OAuth-приложение на странице:
https://oauth.yandex.ru/client/new
При создании приложения выбрать тип:
Для доступа к API или отладки
В названии приложения указать любое понятное имя, например:
YandexDiskAccess
В разделе Доступ к данным добавить права:
| Право | Назначение |
|---|---|
cloud_api:disk.read |
Чтение файлов и папок Яндекс.Диска |
cloud_api:disk.info |
Получение информации о Диске |
Для получения токена используется значение ClientID из созданного OAuth-приложения.
ClientID находится на странице приложения в разделе с основными параметрами. Значение используется в ссылке авторизации.
Ссылка для получения токена:
https://oauth.yandex.ru/authorize?response_type=token&client_id=ТВОЙ_CLIENT_ID
Вместо ТВОЙ_CLIENT_ID указать значение ClientID.
После подтверждения доступа Яндекс возвращает OAuth-токен. Токен используется в сценарии при отправке REST-запроса.
Описание алгоритма
1. Запрос к сервису
Во входном порту переменных сценария задаются параметры для поиска файла на Яндекс.Диске.
| Имя | Метка | Значение |
|---|---|---|
yandex_disk_folder_path |
Путь к папке на Яндекс.Диске | Папка, в которой находится Excel-файл |
yandex_disk_file_name |
Имя Excel-файла | Имя файла без расширения .xlsx |
yandex_oauth_token |
OAuth-токен Яндекс.Диска | Токен для доступа к API Яндекс.Диска |
В подмодели Запрос к сервису формируется URL для обращения к API Яндекс.Диска и выполняется REST-запрос для получения временной ссылки на скачивание Excel-файла.
URL формируется на основе пути к папке и имени Excel-файла.
В запросе используется параметр fields=file, чтобы получить из ответа только ссылку на скачивание файла.
На странице Подключения настроено подключение REST-сервиса.
В сценарии URL подключения передаётся через управляющую переменную, сформированную на предыдущем шаге.
В узле Вызов REST-сервиса выполняется запрос к API Яндекс.Диска. В заголовок запроса передаётся OAuth-токен:
| Заголовок | Значение |
|---|---|
Authorization |
OAuth <значение_токена> |
Значение заголовка задаётся через управляющую переменную yandex_oauth_token.
В ответе сервис возвращает JSON с полем file. Это временная ссылка, по которой можно скачать выбранный Excel-файл.
2. Преобразование ответа от сервиса в ссылку
В подмодели Преобразование ответа от сервиса в ссылку ответ REST-сервиса преобразуется в переменную со ссылкой на файл.
В узле JSON в дерево ответ сервиса преобразуется из JSON в древовидную структуру.
В узле Дерево в таблицу из ответа сервиса выделяется поле Root.file.
В узле Преобразование ссылки на файл в переменную ссылка преобразуется в переменную.
3. Чтение файла
В узле Чтение файла выполняется импорт Excel-файла по ссылке, полученной из Яндекс.Диска.
Параметр Имя файла/URL получает значение из управляющей переменной со ссылкой на файл.
Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно
Минимальные требования к системе:
- Операционная система: Windows 10 и выше
- CPU x64: 2 core 1
- Оперативная память: 4 GB
- Жесткий диск: 10 GB
1 Поддерживается работа на x64 процессорах Intel Core, AMD FX и более новых, содержащих инструкции SSE4.2, POPCNT.