Как добавить учётные записи пользователей из файла
Чтобы начать пользоваться системой видеоконференцсвязи на базе TrueConf Server после её развёртывания, необходимо добавить учётные записи пользователей в панели управления сервером. При этом вы можете импортировать сразу множество пользователей из файла, используя TrueConf Server API.
Для примера мы покажем, как добавить учётные записи из Excel-файла с распределением их по группам пользователей. Ознакомиться с примером кода с поддержкой описанного алгоритма можно на нашем GitHub.
Подготовка к работе
Пример кода реализован на языке программирования Python, поэтому его надо предварительно установить с официального сайта на компьютер, где будет запускаться исполняемый файл (если вы используете Windows). Дистрибутивы Linux, как правило, изначально содержат интерпретатор Python и позволяют запускать соответствующие скрипты. Проверить наличие Python в ОС Linux можно с помощью команды python3 -V
(состоянием на 2022 год актуальна 3 версия).
Не рекомендуется запускать файл скрипта на ОС с установленным TrueConf Server, лучше всего используйте для этого другой компьютер в локальной сети, которому виден ВКС-сервер по IP или доменному именю (FQDN).
Также вам потребуется настроить HTTPS и создать OAuth-приложение, как показано в статье о начале работы с TrueConf Server API.
Шаг 1. Подготовка файла для импорта
Создайте файл со списком пользователей. Поддерживаются форматы .csv, .ods, Excel форматы .xls и .xslx. В случае использования файла .csv в предлагаемом примере кода требуется указать используемый в нём символ разделителя (см. файл README в проекте репозитория).
Для примера используется следующая таблица:
Название столбца |
Назначение и пример |
Обязательный параметр |
---|---|---|
display_name | Отображаемое имя пользователя: Иван Иванов | Да |
login_name | Логин (TrueConf ID): ivanov | Да |
password | Пароль пользователя: 12345 | Да |
Email-адрес: ivanov@company.name | Да | |
groups | Список групп данного пользователя, если несколько, перечислять через запятую без пробелов: IT,Продажи | Нет |
avatar | Путь к изображению аватара: avatars/01.png | Нет |
Шаг 2. Чтение данных из файла
Сформируйте список групп и пользователей из подготовленного ранее файла. В примере кода для этого используется пакет pyexcel.
Шаг 3. Добавление групп пользователей
В данной и последующих командах используется версия API 3.2, которая появилась в версии TrueConf Server 4.5. Если вы используете сервер видеосвязи, который поддерживает более новую версию API, смело меняйте в строке HTTPS-запроса v3.2 на нужную. Соответствие версий TrueConf Server и его API смотрите в документации.
Для каждого названия группы из полученного списка используйте POST-запрос Create Group, например:
1 |
https://server.company.name/api/v3.2/groups?access_token={{$access_token}} |
где {{$access_token}}
– токен доступа, сформированный как показано в статье о начале работы с API, например dvN1tpoy7BmVhN8nUMzXcqJ8vsDYt4IN
.
Укажите в теле запроса JSON с названием группы, например:
1 |
{"display_name":"IT"} |
При успешном добавлении группы на сервер вы получите в ответ JSON-объект Group.
Шаг 4. Добавление пользователей
Для каждого пользователя из полученного списка выполните POST-запрос Create User:
1 |
https://server.company.name/api/v3.2/users?access_token={{$access_token}} |
указав в теле запроса заполненный JSON объекта User, например:
1 2 3 4 5 6 |
{ "display_name":"Иван Иванов", "login_name":"ivanov", "password":"123qwerty", "email":"ivanov@company.name" } |
В ответ вы получите JSON-объект User со всеми данными пользователя.
Если добавляемая учётная запись уже присутствует на сервере, то её можно отредактировать с помощью PUT-метода Edit User.
Шаг 5. Добавление аватарок
Чтобы добавить пользователю аватарку, используйте POST-запрос Create Avatar:
1 |
https://server.company.name/api/v3.2/users/ivanov/avatar?access_token={{$access_token}} |
При этом вам нужно передать в запросе файл изображения. Например, при тестировании алгоритма с помощью Postman на вкладке Body под полем запроса надо выбрать тип данных form-data, указать в поле KEY вариант file (в появляющемся по наведению курсора выпадающем списке), прописать параметр image
и выбрать изображение по кнопке Select Files:
Шаг 6. Добавление пользователей в группы
Чтобы распределить новых пользователей сервера по их группам:
- Получите список всех групп на сервере с помощью GET-запроса Get Group List:
1https://server.company.name/api/v3.2/groups?access_token=dvN1tpoy7BmVhN8nUMzXcqJ8vsDYt4IN - Для каждой из групп, в которые надо добавить пользователя, запомните её название, например IT.
- Найдите среди списка всех групп сервера ту, у которой нужное название, то есть
"display_name":"IT"
, и запомните её уникальный идентификатор, например,"id": "0001"
.
Добавьте в полученную группу пользователя по её идентификатору с помощью POST-запроса Add User:
1 |
https://server.company.name/api/v3.2/groups/0001/users?access_token=dvN1tpoy7BmVhN8nUMzXcqJ8vsDYt4IN |
указав в качестве передаваемого JSON-объекта ID учётной записи:
1 |
{"user_id":"ivanov"} |
Удаление данных на сервере
Аналогичным образом вы можете пакетно удалять учётные записи пользователей, указав в файле список их TrueConf ID. Для этого используйте DELETE-запрос Delete User.
Чтобы удалить группу, потребуется сначала получить её внутренний идентификатор, как вы делали это при добавлении в неё пользователя. После этого можно удалить её с помощью DELETE-запроса Delete Group.
Будьте осторожны при выполнении DELETE-запросов на сервере! С их помощью данные удаляются сразу без подтверждения и без возможности восстановления, поэтому перед их выполнением убедитесь в том, что вы указали верные параметры.