С одной стороны, mimoLive публикует Remote Control UI, который Вы можете использовать для создания пользовательских интерфейсов, которые Вы можете использовать на планшете или подобном устройстве для дистанционного управления mimoLive.
Кроме того, mimoLive предоставляет доступ к "голому HTTP API чтобы вы могли создавать пользовательские сценарии (через bash и скручивание, AppleScript, встроенный Слой автоматизации или что-то подобное, что может общаться с HTTP сервер), которые управляют различными аспектами mimoLive - возможности практически безграничны. (См. Примеры API использование)
В этой теме мы сосредоточимся на голых HTTP API. Как API основывается на спецификация json:api обязательно ознакомьтесь с ним перед началом работы с mimoLive API.
*В дополнение к документации вы также можете посмотреть на наши демонстрационные скрипты PHP на github
Кроме того, есть примеры для Shell и Apple Script.
API Доступ
MimoLive API доступен на той же машине, на которой запущен mimoLive (через "localhost") и в локальной сети (через ".local").
Если функция mimoLive включена, она служит HTTP сервер на "порту 8989".
Все API Вызовы имеют префикс "/api/v1/", так что если вы хотите получить список открытых документов, то вызовите "http://localhost:8989/api/v1/documents".
Все идентификаторы (для документов, слоев, источников, мест вывода и т.д.) хранятся и сохраняются на диске, поэтому жесткое кодирование этих значений безопасно до тех пор, пока один и тот же документ используется внутри mimoLive.
Пожалуйста, обратитесь к API Endpoints, чтобы узнать больше обо всех предоставляемых конечных точках.
Аутентификация
Начиная с mimoLive 3.1, если пользователь включил аутентификацию в настройках mimoLive, вам необходимо предоставлять пароль пользователя для каждого запроса к API что можно сделать двумя способами:
- Установка пользовательского HTTP Заголовок "X-MimoLive-Password-SHA256: xxxxxxx"
- Добавление параметра запроса "?pwSHA256=xxxxxx".
В обоих случаях xxxxxxx нужно заменить на оригинальный пароль (в UTF-8 кодировка) хэшируется с помощью SHA-256 и кодируется как строка шестнадцатеричных цифр.
Чтобы облегчить разработку пользовательских скриптов и приложений, mimoLive показывает следующее API позволяет копировать в буфер обмена в панели настроек "Пульты дистанционного управления":
Утраченный метод аутентификации
До версии mimoLive 3.1 запросы к API будет проходить аутентификацию с помощью специального HTTP заголовок "X-MimoLive-Password: " или параметр запроса "?pw=" при каждом запросе.
К сожалению, этот метод отправляет пароль в открытом виде по потенциально небезопасному сетевому соединению, что может привести к раскрытию конфиденциальных данных, если HTTP API пароль используется повторно в другом месте.
Несмотря на то, что этот метод аутентификации продолжает работать, он не рекомендуется и может быть удален в будущем.
Ошибки
Если во время запроса произошла ошибка, mimoLive прекратит обработку запроса и вернет сообщение HTTP ответ с кодом состояния, указывающим на ошибку. Ответ также содержит JSON полезная нагрузка Массив объектов ошибок, содержащих дополнительную информацию о каждой возникшей ошибке:
{
"errors": [
{
"status": "404",
"title": "Not Found",
"description": "The requested object could not be found"
}
]
}
Удаленный доступ через Интернет
Как HTTP API обеспечивается с помощью веб-сервера, встроенного в mimoLive, удаленный доступ к HTTP API из любой точки Интернета можно получить, присвоив компьютеру mimoLive публичный IP-номер. Поскольку HTTP API не очень хорошо защищены, это плохая идея. Лучший способ обеспечить удаленный доступ к HTTP API через публичную сеть - это Создайте безопасный туннель к вашему хост-компьютеру mimoLive с помощью ngrok.