Por um lado, o mimoLive publica uma IU de controlo remoto que pode utilizar para criar interfaces de utilizador personalizadas que pode utilizar num tablet ou dispositivo semelhante para controlar remotamente o mimoLive.
Além disso, o mimoLive permite o acesso a HTTP API para que possa criar scripts personalizados (via bash e enrolar, AppleScript, incorporado Camada de automatização ou algo semelhante que possa falar com um HTTP servidor) que controlam vários aspectos do mimoLive - as possibilidades são quase infinitas. (Veja Exemplos de API utilização)
Neste tópico, centrar-nos-emos nos seguintes aspectos HTTP API. Como o API baseia-se no json:api especificação não se esqueça de se familiarizar com ele antes de trabalhar com o mimoLive API.
*Para além da documentação, também pode consultar os nossos scripts de demonstração PHP no github
Além disso, há um exemplo para Shell e Apple Script disponível.
API Acesso
O mimoLive API está acessível na mesma máquina em que o mimoLive está a ser executado (através de "localhost") e na rede local (através de ".local").
Se ativado, o mimoLive serve um HTTP servidor na "porta 8989".
Todos os API são prefixadas com o caminho "/api/v1/", pelo que, se pretender obter uma lista de documentos abertos, deve chamar "http://localhost:8989/api/v1/documents".
Todos os IDs (para documentos, camadas, fontes, destinos de saída, etc.) são armazenados e persistem no disco, pelo que a codificação destes valores é segura desde que o mesmo documento seja utilizado dentro do mimoLive.
Por favor consulte API Endpoints para saber mais sobre todos os endpoints fornecidos.
Autenticação
A partir do mimoLive 3.1, se o utilizador tiver ativado a autenticação nas preferências do mimoLive, é necessário fornecer a palavra-passe do utilizador para cada pedido ao API o que pode ser feito de duas maneiras:
- Definir o nome personalizado HTTP cabeçalho "X-MimoLive-Password-SHA256: xxxxxxx"
- Anexar o parâmetro de consulta "?pwSHA256=xxxxxxx"
Em ambos os casos, xxxxxxx tem de ser substituído pela palavra-passe original (em UTF-8) com hash utilizando SHA-256 e codificado como uma cadeia de dígitos hexadecimais.
Para facilitar o desenvolvimento de scripts e aplicações personalizadas, o mimoLive mostra o seguinte API e permite copiar para a área de transferência no painel de preferências dos Controlos Remotos:
Método de autenticação obsoleto
Antes da versão 3.1 do mimoLive, os pedidos contra o API seria autenticado utilizando o código especial HTTP cabeçalho "X-MimoLive-Password: " ou o parâmetro de consulta "?pw=" em cada pedido.
Infelizmente, este método envia a palavra-passe em claro através de uma ligação de rede potencialmente insegura que pode expor dados sensíveis se o HTTP API A palavra-passe está a ser reutilizada noutro local.
Embora continue a funcionar, este método de autenticação é, por conseguinte, desaconselhado e poderá ser removido no futuro.
Erros
Se ocorrer um erro durante um pedido, o mimoLive interromperá o processamento desse pedido e devolverá uma mensagem HTTP resposta com o seu código de estado indicando o erro. A resposta também contém um JSON matriz de objectos de erro que contém informações adicionais sobre cada erro que ocorreu:
{
"errors": [
{
"status": "404",
"title": "Not Found",
"description": "The requested object could not be found"
}
]
}
Acesso remoto através da Internet
Como o HTTP API é ativado por um servidor Web integrado no mimoLive, o acesso remoto ao HTTP API de qualquer lugar na Internet pode ser ativado dando ao computador mimoLive um número IP público. Uma vez que o HTTP API não estiver muito bem protegido, esta é uma má ideia. Uma maneira melhor de habilitar o acesso remoto ao HTTP API através de uma rede pública é estabelecer um túnel seguro para o seu computador anfitrião mimoLive utilizando o ngrok.