Интеграция с Nextcloud

Loginom обрабатывает данные, загруженные из внешних источников. Создать же таблицу с данными непосредственно в Loginom нельзя. Но иногда пользователю необходима такая возможность. Используя облачную платформу для хранения, синхронизации и обмена файлами и др. данными Nextcloud + Onlyoffice можно создавать таблицы и редактировать их привычным образом, а Loginom получит эти данные путем скачивания файла по ссылке. При таком подходе в серверных редакциях Loginom не потребуется загружать Excel-файл в Файловое хранилище после каждого изменения данных в нем.

Запустить демо

Установить локально

Примечание: Демопример имеет ограничение демонстрации всех возможностей при запуске на демостенде (Запустить демо). Рекомендуем установить пример локально.

Предварительная подготовка

Чтобы Loginom смог получить доступ к Nextcloud необходим токен авторизации.

Получение токена

Для получение токена Nextcloud потребуется аккаунт Nextcloud, далее необходимо:

  1. Перейти в настройки профиля
  2. Выбрать раздел Безопасность
  3. Создать приложение

После создания приложения отобразится токен, который далее используется для настройки узлов сценария Loginom.

Описание алгоритма

1. Получение ссылки для импорта

В подмодели с помощью REST запроса происходит получение ссылки на файл, из которого необходимо получить данные.

Настройка параметров подмодели

Во входном порту подмодели созданы 3 переменные:

Имя Метка Описание
Строковый тип domain Домен Имя домена, на котором развернут сервер Nextcloud
Строковый тип token Токен Токен приложения Nextcloud
Строковый тип path Путь до файла Путь в облачном хранилище Nextcloud до требуемого файла

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

Подготовка запроса

В узле Формирование URL подготавливается URL для отправки REST запроса методом POST. В калькуляторе переменных расcчитывается следующее выражение:

Concat("https://", domain ,"/ocs/v2.php/apps/files_sharing/api/v1/shares")

Параллельно в узле Тело запроса (компонент JavaScript) формируется тело запроса. При формировании запроса используется переменная Путь до файла из входного порта узла.

import { InputTable, InputTables, InputVariables, OutputTable, DataType, DataKind, UsageType } from "builtIn/Data";

// Подготовка структуры JSON объекта
const body = {
  "path" : "",
  "shareType": 3,
  "permissions": 1
  };

// Присвоение свойству path объекта body значение переменной path
body.path = InputVariables.Items.path.Value; 

// Вывод объекта в выходной набор данных
OutputTable.Append();
OutputTable.Set(0, JSON.stringify( body));\
Отправка запроса

Для отправки запроса на странице Подключения настроено подключение REST-сервис:

  • Переключатель URL сервиса в режиме получения URL через входную переменную
  • Метод: POST
  • Переключатель Токен OAuth в режиме получения токена через входную переменную

Узел REST запрос получает через табличный порт тело запроса и данные для подключения через специальный порт Подключение, отправляет POST запрос и возвращает XML ответ, в котором содержится ссылка к файлу. Настройки узла:

  • Поле с телом сообщения: Тело запроса
  • Остальные настройки по умолчанию
Преобразование ссылки на скачивание

С помощью узла Ссылка на скачивание извлекается ссылка для получения доступа к файлу. К извлеченной ссылке добавляется /download, чтобы получить ссылку на скачивание:

Concat(SubStr(Response, Find("<url>", Response) +5, Find("</url>", Response) - Find("<url>", Response) - 5), "/download")

При помощи узла Таблица в переменные происходит преобразование для удобного дальнейшего использования.

2. Использование ссылки для импорта файла

Полученная на предыдущем шаге ссылка для скачивания файла передается во входной порт переменных узла Импорт файла. В настройках узла переключатель Имя файла/URL установлен в режим получения данных из входной переменной. Остальные настройки оставлены по умолчанию. Подробнее о настройке импорта из Excel файла.


Скачайте и откройте файл в Loginom. При необходимости Loginom CE можно скачать бесплатно

Скачать демопример

Минимальные требования к системе:

  • Операционная система: Windows 8.1 и выше.
  • CPU x64: 1 core.
  • Оперативная память: 1 GB.
  • Жесткий диск: 10 GB.