Новый транспорт Яндекс Диск в FastReport VCL

13.12.2021

FastReport VCL

Около трех лет назад мы добавили новые специальные компоненты – «Транспорты». Они помогают сохранять построенные отчёты в облако, а также использовать находящиеся в облаке файлы (например, картинки) для построения отчётов.

До текущего момента было 4 облачных транспорта: Dropbox, Google Drive, Box, OneDrive. А также 2 необлачных транспорта: Email и FTP. О их настройке облачных транспортов можете почитать тут, а о том как использовать файлы из облака тут.

Эта статья посвящается добавлению пятого облачного транспорта: Яндекс Диска. Рассмотрим же все тонкости настройки с подробным описанием возможностей. 

Если вы уже работали с нашими облачными транспортами, то можете переходить сразу на главу с настройкой подключения.

Важно! Для работы протокола https необходимы следующие библиотеки Open SSL: libssl-3.dll и libcrypto-3.dll их можно найти в директории с главным демо приложением. Библиотеки необходимо скопировать в папку с приложением или системную директорию.

Добавление транспорта в приложение и его настройка

Первым шагом, как и с другими транспортами, вам нужно добавить соответствующий компонент из вкладки “FastReport VCL Internet transports”.

Добавление компонента на форму

Можно использовать контекстное меню на компоненте. Это установит подключение прямо из среды разработки. Нажимаем на подменю “Edit connection”.

Вызов контекстного меню транспорта

По умолчанию транспорты реагируют только на ответ авторизации от браузера используя порт 9898. Если этот порт уже занят или планируется использовать данный порт в дальнейшем, то FastReport VCL позволяет изменить порт в свойстве ListenerPort.

Транспорт в инспекторе объектов

Далее будем предполагать использование порта 9898 по умолчанию.

Важно! Пользователю не нужно выполнять все нижеперечисленные действия каждый раз, для авторизации. Данная настройка выполняется только один раз администратором облачных сервисов. После выполнения всех действий полученные авторизационные данные могут быть использованы другими пользователями.

Подключение к Яндекс Диску

Когда пользователь хочет открыть или сохранить в файл с помощью транспорта, то он увидит стандартный диалог авторизации (если он не авторизовался ранее).

Стандартный диалог авторизации

Для перехода на страницу настроек подключения нажмите на знак вопроса справа вверху окна авторизации. После этого будет открыт браузер по умолчанию со страницей доступа внешних приложений Яндекс Диска. Если пользователь не авторизован в Яндексе, то откроется страница с авторизацией, на которой нужно будет войти в аккаунт Яндекса.

Нажмите на кнопку «Зарегистрировать новое приложение».

Страница доступа внешних приложений Яндекс Диска

Введите название приложения и спускайтесь ниже.

Верхняя часть страницы создания приложения

В пункте «Платформы» выберете «Веб-сервисы», в поле «Callback URI» укажите «http://localhost:9898», а после нажмите кнопку “Добавить”.

Обратите внимание, что порт должен соответствовать порту, указанному в свойстве ListenerPort у компонента транспорта.

Настройка платформы при создании приложения

Список возможных доступов достаточно длинный, поэтому на картинке ниже мы скрыли большую их часть.

Откройте пункт «Яндекс.Диск REST API» и поставьте галочку у полей «Запись в любом месте на Диске» и «Чтение всего Диска».

Сокращенная настройка доступа

После чего спуститесь в самый низ и нажмите «Создать приложение».

Нижняя часть страницы создания приложения

Вы увидите, что приложение создано. Скопируйте поля «ID» и «Пароль».

Страница созданного приложения

И вставьте их в соответствующие поля ввода диалога авторизации FastReport VCL.

Стандартный диалог авторизации со скрытыми данными

Нажмите “Ok”. Должно открыться новое окно в браузере, который установлен по умолчанию. На экране высветится предложение выбрать аккаунт для авторизации.

Авторизация с помощью Яндекса

После выбора аккаунта окно браузера можно закрыть.

Сообщение об окончании авторизации

При удачном подключении вы увидите стандартный браузер файлов FastReport VCL.

На данном скриншоте вы можете видеть проверку на поддержку юникода.

Стандартный браузер файлов FastReport VCL

Мы считаем транспорты важной частью нашего продукта и будем постепенно увеличивать их количество, но как спрос рождает предложение, так и транспорты создаются по вашим заявкам. Если у вас есть какие-либо предложения, то вы можете написать нам в поддержку.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
11 декабря 2023

Новый транспорт S3 (Amazon) в FastReport VCL

В этой статье мы рассмотрим новый транспорт в S3 (Amazon) для FastReport VCL, являющийся объектным хранилищем файлов и бакетов.
26 сентября 2023

Новый транспорт NextCloud в FastReport VCL

Подробная инструкция по использованию нового транспорта для подключения к NextCloud чтобы сохранять построенные отчёты в облако.