{"id":32486,"date":"2023-03-08T16:31:06","date_gmt":"2023-03-08T15:31:06","guid":{"rendered":"https:\/\/mimolive.com\/?post_type=user-manual&#038;p=32486"},"modified":"2024-10-08T09:55:45","modified_gmt":"2024-10-08T07:55:45","slug":"http-api","status":"publish","type":"user-manual","link":"https:\/\/mimolive.com\/sv\/user-manual\/remote-control-automation\/http-api\/","title":{"rendered":"HTTP-API"},"content":{"rendered":"<p>\u00c5 ena sidan publicerar mimoLive en <a href=\"https:\/\/mimolive.com\/sv\/anvandarhandbok\/fjarrkontroll-ytor\/\">Anv\u00e4ndargr\u00e4nssnitt f\u00f6r fj\u00e4rrkontroll<\/a> som du kan anv\u00e4nda f\u00f6r att skapa anpassade anv\u00e4ndargr\u00e4nssnitt som du kan anv\u00e4nda p\u00e5 en surfplatta eller liknande enhet f\u00f6r att fj\u00e4rrstyra mimoLive.<\/p>\n\n\n\n<p>Dessutom ger mimoLive tillg\u00e5ng till de nakna <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> s\u00e5 att du kan skapa anpassade skript (via <strong>bash<\/strong> och <strong>krulla<\/strong>, <strong>AppleScript<\/strong>, inbyggd <a href=\"https:\/\/mimolive.com\/sv\/anvandarhandbok\/automation\/\">Automatiseringslager<\/a> eller n\u00e5got liknande som kan prata med en <span class=\"caps\">HTTP<\/span> server) som styr olika aspekter av mimoLive - m\u00f6jligheterna \u00e4r n\u00e4stan o\u00e4ndliga. (Se <a href=\"https:\/\/mimolive.com\/sv\/anvandarhandbok\/exempel-pa-anvandning-av-api\/\">Exempel p\u00e5 <span class=\"caps\">API<\/span> anv\u00e4ndning<\/a>)<\/p>\n\n\n\n<p>I detta \u00e4mne kommer vi att fokusera p\u00e5 de nakna <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span>. Eftersom <span class=\"caps\">API<\/span> \u00e4r baserad p\u00e5 <a href=\"http:\/\/jsonapi.org\/\" target=\"_blank\" rel=\"noreferrer noopener\">json:api-specifikation<\/a> se till att bekanta dig med den innan du b\u00f6rjar arbeta med mimoLive <span class=\"caps\">API<\/span>.<\/p>\n\n\n\n<p>*F\u00f6rutom dokumentationen kan du ocks\u00e5 ta en titt p\u00e5 v\u00e5ra PHP-demoskript p\u00e5 github<\/p>\n\n\n\n<p><br>Det finns \u00e4ven exempel f\u00f6r Shell och Apple Script.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"api-endpoint\"><span class=\"caps\">API<\/span> Tillg\u00e5ng<\/h3>\n\n\n\n<p>MimoLive <span class=\"caps\">API<\/span> \u00e4r tillg\u00e4nglig p\u00e5 samma maskin som mimoLive k\u00f6rs p\u00e5 (via \"localhost\") och i det lokala n\u00e4tverket (via \".local\").<\/p>\n\n\n\n<p>Om aktiverad tj\u00e4nar mimoLive en <span class=\"caps\">HTTP<\/span> server p\u00e5 \"port 8989\".<\/p>\n\n\n\n<p>Alla de <span class=\"caps\">API<\/span> anrop prefixeras med s\u00f6kv\u00e4gen \"\/api\/v1\/\", s\u00e5 om du vill f\u00e5 en lista \u00f6ver \u00f6ppnade dokument anropar du \"http:\/\/localhost:8989\/api\/v1\/documents\".<\/p>\n\n\n\n<p>Alla ID:n (f\u00f6r dokument, lager, k\u00e4llor, utdatadestinationer etc.) lagras och sparas p\u00e5 disk, s\u00e5 h\u00e5rdkodning av dessa v\u00e4rden \u00e4r s\u00e4kert s\u00e5 l\u00e4nge som samma dokument anv\u00e4nds i mimoLive.<br><br>V\u00e4nligen se <a href=\"https:\/\/mimolive.com\/sv\/anvandarhandbok\/anpassning\/http-api\/slutpunkter\/\" data-type=\"user-manual\" data-id=\"32488\">API-slutpunkter<\/a> f\u00f6r att l\u00e4ra dig mer om alla de slutpunkter som tillhandah\u00e5lls.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"authentication\">Autentisering<\/h3>\n\n\n\n<p>Fr\u00e5n och med mimoLive 3.1, om anv\u00e4ndaren har aktiverat autentisering i inst\u00e4llningarna f\u00f6r mimoLive, m\u00e5ste du ange anv\u00e4ndarens l\u00f6senord f\u00f6r varje f\u00f6rfr\u00e5gan till <span class=\"caps\">API<\/span> vilket kan g\u00f6ras p\u00e5 tv\u00e5 s\u00e4tt:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Inst\u00e4llning av anpassning <span class=\"caps\">HTTP<\/span> rubrik \"X-MimoLive-Password-SHA256: xxxxxxx\"<\/li>\n\n\n\n<li>L\u00e4gga till fr\u00e5geparametern \"?pwSHA256=xxxxxxx\"<\/li>\n<\/ul>\n\n\n\n<p>I b\u00e5da fallen m\u00e5ste xxxxxxx ers\u00e4ttas med det ursprungliga l\u00f6senordet (i <span class=\"caps\">UTF<\/span>-8-kodning) hashad med hj\u00e4lp av <span class=\"caps\">SHA<\/span>-256 och kodas som en str\u00e4ng av hexadecimala siffror.<br>F\u00f6r att underl\u00e4tta utvecklingen av anpassade skript och applikationer visar mimoLive detta <span class=\"caps\">API<\/span> och m\u00f6jligg\u00f6r kopiering till Urklipp i inst\u00e4llningsf\u00f6nstret Fj\u00e4rrkontroller:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1000\" height=\"448\" src=\"https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40.png\" alt=\"\" class=\"wp-image-32487\" srcset=\"https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40.png 1000w,  https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40-300x134.png 300w,  https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40-768x344.png 768w,  https:\/\/mimolive.com\/wp-content\/uploads\/2023\/03\/dddc6bf5-964b-493c-b35e-ee5b37e44e40-18x8.png 18w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"deprecated-authentication-method\">F\u00f6r\u00e5ldrad autentiseringsmetod<\/h4>\n\n\n\n<p>F\u00f6re mimoLive version 3.1 kunde f\u00f6rfr\u00e5gningar mot <span class=\"caps\">API<\/span> skulle autentiseras med hj\u00e4lp av den s\u00e4rskilda <span class=\"caps\">HTTP<\/span> rubriken \"X-MimoLive-Password: \" eller fr\u00e5geparametern \"?pw=\" p\u00e5 varje f\u00f6rfr\u00e5gan.<br>Tyv\u00e4rr skickar denna metod l\u00f6senordet i klartext \u00f6ver en potentiellt os\u00e4ker n\u00e4tverksanslutning, vilket kan avsl\u00f6ja k\u00e4nsliga uppgifter om <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> l\u00f6senord \u00e5teranv\u00e4nds n\u00e5gon annanstans.<br>Denna autentiseringsmetod fungerar visserligen fortfarande, men vi avr\u00e5der fr\u00e5n den och den kan komma att tas bort i framtiden.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"errors\">Fel<\/h3>\n\n\n\n<p>Om ett fel uppst\u00e5r under en beg\u00e4ran kommer mimoLive att avbryta behandlingen av beg\u00e4ran och returnera ett <span class=\"caps\">HTTP<\/span> svar med dess statuskod som anger felet. Svaret inneh\u00e5ller ocks\u00e5 en <span class=\"caps\">JSON<\/span> nyttolast matris med felobjekt som inneh\u00e5ller ytterligare information om varje fel som intr\u00e4ffade:<\/p>\n\n\n\n<pre class=\"wp-block-code\" data-no-translation=\"\"><code>{\n  \"errors\": &#91;\n    {\n      \"status\": \"404\",\n      \"title\": \"Not Found\",\n      \"description\": \"The requested object could not be found\"\n    }\n  ]\n}<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"remote-access\">Fj\u00e4rr\u00e5tkomst via Internet<\/h3>\n\n\n\n<p>Eftersom <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> m\u00f6jligg\u00f6rs av en inbyggd webbserver i mimoLive, fj\u00e4rr\u00e5tkomst till <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> fr\u00e5n var som helst p\u00e5 Internet kan m\u00f6jligg\u00f6ras genom att ge mimoLive-datorn ett offentligt IP-nummer. Eftersom <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> inte \u00e4r s\u00e4rskilt v\u00e4l skyddat, \u00e4r detta en d\u00e5lig id\u00e9. Ett b\u00e4ttre s\u00e4tt att m\u00f6jligg\u00f6ra fj\u00e4rr\u00e5tkomst till <span class=\"caps\">HTTP<\/span> <span class=\"caps\">API<\/span> via ett publikt n\u00e4tverk \u00e4r att <a href=\"https:\/\/mimolive.com\/sv\/anvandarhandbok\/fjarratkomst-till-fjarrstyrningsytor-och-http-api-pa-distans\/\">uppr\u00e4tta en s\u00e4ker tunnel till din mimoLive-v\u00e4rddator med hj\u00e4lp av ngrok<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>On one hand, mimoLive publishes a Remote Control UI which you can use to create custom user interfaces that you can use on a tablet or similar device to remote control mimoLive. Additionally, mimoLive provides access to the bare HTTP API so you can create custom scripts (via bash and curl, AppleScript, build-in Automation Layer [&hellip;]<\/p>","protected":false},"author":3,"featured_media":0,"parent":40865,"menu_order":2,"template":"","meta":{"_acf_changed":false,"_angie_page":false,"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[258],"tags":[],"class_list":["post-32486","user-manual","type-user-manual","status-publish","hentry","category-manual"],"acf":[],"_links":{"self":[{"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/user-manual\/32486","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/user-manual"}],"about":[{"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/types\/user-manual"}],"author":[{"embeddable":true,"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/users\/3"}],"version-history":[{"count":1,"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/user-manual\/32486\/revisions"}],"predecessor-version":[{"id":39706,"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/user-manual\/32486\/revisions\/39706"}],"up":[{"embeddable":true,"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/user-manual\/40865"}],"wp:attachment":[{"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/media?parent=32486"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/categories?post=32486"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mimolive.com\/sv\/wp-json\/wp\/v2\/tags?post=32486"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}