Aan de ene kant publiceert mimoLive een Remote Control UI die u kunt gebruiken om aangepaste gebruikersinterfaces te maken die u op een tablet of vergelijkbaar apparaat kunt gebruiken om mimoLive op afstand te bedienen.
Daarnaast biedt mimoLive toegang tot de kale HTTP API zodat je aangepaste scripts kunt maken (via bash en krul, AppleScript, ingebouwd Automatiseringslaag of iets dergelijks dat kan praten met een HTTP server) die verschillende aspecten van mimoLive beheren - de mogelijkheden zijn bijna eindeloos. (Zie Voorbeelden van API gebruik)
In dit onderwerp richten we ons op de kale HTTP API. Als de API is gebaseerd op de json:api specificatie Zorg ervoor dat u hiermee vertrouwd raakt voordat u met mimoLive werkt. API.
*Naast de documentatie kun je ook onze PHP-demoscripts op github bekijken.
Er is ook een voorbeeld voor Shell en Apple Script beschikbaar.
API Toegang
De mimoLive API is toegankelijk op dezelfde machine als waarop mimoLive draait (via "localhost") en op het lokale netwerk (via ".local").
Indien ingeschakeld serveert mimoLive een HTTP server op "poort 8989".
Alle API Oproepen hebben als prefix "/api/v1/", dus als je een lijst met geopende documenten wilt opvragen, roep je "http://localhost:8989/api/v1/documents" op.
Alle ID's (voor documenten, lagen, bronnen, uitvoerbestemmingen etc.) worden opgeslagen en bewaard op schijf, dus het hardcoden van deze waarden is veilig zolang hetzelfde document wordt gebruikt binnen mimoLive.
Lees API Endpoints voor meer informatie over alle beschikbare eindpunten.
Authenticatie
Vanaf mimoLive 3.1, als de gebruiker authenticatie heeft ingeschakeld in de mimoLive voorkeuren, moet u het gebruikerswachtwoord opgeven voor elk verzoek aan de API wat op twee manieren kan:
- De aangepaste instelling HTTP koptekst "X-MimoLive-Password-SHA256: xxxxxxx".
- De queryparameter "?pwSHA256=xxxxxxx" toevoegen
In beide gevallen moet xxxxxxx worden vervangen door het oorspronkelijke wachtwoord (in UTF-8 codering) gehasht met SHA-256 en gecodeerd als een reeks hexadecimale cijfers.
Om de ontwikkeling van aangepaste scripts en toepassingen te vergemakkelijken, toont mimoLive dit API toets en maakt kopiëren naar het klembord mogelijk in het voorkeurenpaneel Afstandsbediening:

Afgeschreven verificatiemethode
Vóór mimoLive versie 3.1 werden verzoeken tegen de API zouden worden geverifieerd met de speciale HTTP header "X-MimoLive-Password: " of de queryparameter "?pw=" op elk verzoek.
Helaas verzendt deze methode het wachtwoord onversleuteld over een mogelijk onveilige netwerkverbinding waardoor gevoelige gegevens kunnen vrijkomen als de HTTP API wachtwoord wordt elders hergebruikt.
Hoewel het blijft werken, wordt deze authenticatiemethode daarom afgeraden en mogelijk in de toekomst verwijderd.
Fouten
Als er een fout optreedt tijdens een verzoek, zal mimoLive stoppen met het verwerken van dat verzoek en een HTTP antwoord met de statuscode die de fout aangeeft. Het antwoord bevat ook een JSON payload array van foutobjecten met aanvullende informatie over elke fout die zich voordeed:
{
"errors": [
{
"status": "404",
"title": "Not Found",
"description": "The requested object could not be found"
}
]
}
Toegang op afstand via internet
Als de HTTP API wordt mogelijk gemaakt door een webserver die is ingebouwd in mimoLive, externe toegang tot de HTTP API van eender waar op het Internet kan ingeschakeld worden door de mimoLive-computer een publiek IP-nummer te geven. Aangezien de HTTP API niet erg goed beschermd is, is dit een slecht idee. Een betere manier om toegang op afstand tot de HTTP API via een openbaar netwerk is om maak een veilige tunnel naar uw mimoLive-hostcomputer met behulp van ngrok.