• 1
  • 2
2025-01-14, 16:04
  #1
Medlem
randomdudeReloadeds avatar
Har aldrig riktigt förstått vad en api är? och hur använder man en api, och varför använder man en api?

Jag TROR att api basically är någonting som gör att man kan sno saker från andra webbsidor? men hur använder man en api?
Citera
2025-01-14, 16:09
  #2
Medlem
2023-01-01s avatar
Ett exempel kan vara en hemsida som ger WHOIS information. Då kan du gå in på den hemsidan och skriva in Flashback.org, då kan du se WHOIS (Who Is?), d.v.s. vem som står bakom den hemsidan.

Om du skriver ett program som ska kolla denna WHOIS så blir det omständigt att skriva någon sorts funktion som navigerar till WHOIS-hemsidan, skriver in den domän du angett, simulerar ett Enter-tryck, läser av resultaten och presenterar det för användaren. Då kanske WHOIS-hemsidan har förberett ett API. Enligt instruktionerna kanske det räcker att i ditt program skicka ett kommando mot en särskild URL, typ api.domain.com/whois?=$URL, och svaret blir den information som en människa hade läst på deras hemsida.

Det är helt enkelt något som en ägare av en hemsida har förberett för att utvecklare på ett snyggt sätt ska kunna hämta information. Många APIer kräver inloggning/autentisering och i vissa fall även betalning.
Citera
2025-01-14, 16:11
  #3
Medlem
API = Application Programming Interface, det är ett gränssnitt som program använder. Eftersom du nämner webbsidor så misstänker jag att du tänker på Web-API, d.v.s. gränssnitt mellan program och webbserver via HTTP.
Citera
2025-01-14, 16:20
  #4
Medlem
Smekarn87s avatar
Citat:
Ursprungligen postat av Hominem
API = Application Programming Interface, det är ett gränssnitt som program använder. Eftersom du nämner webbsidor så misstänker jag att du tänker på Web-API, d.v.s. gränssnitt mellan program och webbserver via HTTP.

Jag tycker alltid nomenklatur är svår inom IT. Skulle du kalla en WCF för ett API?
Citera
2025-01-14, 16:25
  #5
Medlem
Hurt-Åkes avatar
Det är en "webbsida" där information presenteras på ett sätt som smidigt kan användas av andra applikationer.

Ex: SMHI har en API där väderleksappar kan plocka information om väder och prognoser. Eller att SL har en API där andra reseplaneringsappar kan hämta information om hur tåg och bussar går och deras tidtabeller och realtidsinformation. Eller en aktietjänst som erbjuder info till aktieappar. Ja du fattar.

Det kan vara en fri API eller så kostar det att använda den.

Det också vara mycket enklare saker liksom en tidigare förklarat här.
Citera
2025-01-14, 16:33
  #6
Medlem
Citat:
Ursprungligen postat av 2023-01-01
Det är helt enkelt något som en ägare av en hemsida har förberett för att utvecklare på ett snyggt sätt ska kunna hämta information. Många APIer kräver inloggning/autentisering och i vissa fall även betalning.

Det bör nog tilläggas att API:er är ett vidare begrepp som inte är specifikt för just webbutveckling. Medan användargränssnitt är något som används av människor för att styra ett program, finns API:er som ett sätt för mjukvarukomponenter att styra andra mjukvarukomponenter. En webbsida är bara en slags mjukvarukomponent – ett exempel utanför webbvärlden är de drivrutiner som gör att man kan använda nyutvecklad hårdvara i en dator. Drivrutinen behöver viss funktionalitet från operativsystemet för att göra sitt jobb, och använder därför operativsystemets API:er. Men den implementerar också ett eget API, som operativsystemet använder för att styra hårdvaran genom drivrutinens försorg (t.ex. att spela ett ljud genom ett ljudkort). Och en applikation som vill spela upp ett ljud anropar ett API i operativsystemet, som i sin tur anropar API:et i drivrutinen.
Citera
2025-01-14, 17:00
  #7
Medlem
Citat:
Ursprungligen postat av Smekarn87
Jag tycker alltid nomenklatur är svår inom IT. Skulle du kalla en WCF för ett API?

Jag är inte insatt i WCF men däremot i gRPC, och enligt Microsoft så är WCF ett alternativ till gRPC. RPC i gRPC står för Remote Procedure Call. RPC är ett sätt att implementera APIer och göra dem tillgängliga för anrop från externa system. gRPC använder HTTP/3 men det gör nog inte gRPC till ett Web-API, däremot finns gRPC-Web för web-klienter.
Citera
2025-01-14, 17:25
  #8
Medlem
Citat:
Ursprungligen postat av Smekarn87
Jag tycker alltid nomenklatur är svår inom IT. Skulle du kalla en WCF för ett API?

WCF är enkelt uttryckt en form av API. Du anropar en tjänst via ett gränssnitt och får ett svar tillbaka. API:er fungerar likadant.
Citera
2025-01-14, 17:44
  #9
Medlem
Xer0s avatar
Citat:
Ursprungligen postat av Smekarn87
Jag tycker alltid nomenklatur är svår inom IT. Skulle du kalla en WCF för ett API?

Folk är väldigt insnöade på webbtjänster nu för tiden.
Det finns massor av tjänster som har apier som inte är webbaserade. T.ex ssh, olika databaser, mainframes osv.

Även de här gamla dll filerna som era spel använder har ju ett API i sig. Eller snarare ett ABI som är ett kontrakt för hur körbar kod kompilerad med Visual Studio kompilatorn interagerar med annan körbar kod.

Där ingår t.ex vilka register i CPUn som argumenten ska ligga i, vid ett anrop och vilket register returvärdet kommer i.

Ett API är kort och gott bara ett kontrakt på hur två olika moduler ”pratar” med varandra.

Även en xml fil med transaktioner som skickas från SEB till Handelsbanken varje dag kan sägas utgöra ett API.
__________________
Senast redigerad av Xer0 2025-01-14 kl. 17:50.
Citera
2025-01-14, 17:58
  #10
Medlem
kofotskentas avatar
En API är ett gränssnitt mellan olika mjukvaror.
Det är ett sätt för program att prata med andra program eller bibliotek.
Det kan handla om att få fram data, anropa funktioner m.m.
T.ex har många olika programvaror i ett operativsystem ett behov av att utföra samma uppgifter, så istället för att alla program separat ska installera dessa funktioner (så kallade .dll-filer), finns de gemensamt tillgängligt att åberopa genom API.
Ett API kan också behövas för ett program som behöver prata med en extern databas eller webbsida för att få fram olika data.

https://sv.m.wikipedia.org/wiki/Appl...r%C3%A4nssnitt
Citera
2025-01-14, 17:59
  #11
Medlem
utforskarens avatar
APIer är inte heller alltid bara till för att hämta information. De kan också användas för att låta externa tjänster/programvaror skapa, redigera eller radera innehåll.

Exempelvis ekonomisystem som Fortnox har API:er för att kunna hämta ut redovisning, kontonummer, fakturor osv. Men också för att skicka in bokföringsunderlag, skapa fakturor, ordrar och ändra lagersaldon m.m.

En webbshop kan således ha nytta av dessa API:er för att automatiskt hämta och uppdatera lagersaldon och skapa bokföringsunderlag i Fortnox allteftersom kunder handlar på webbsidan, så att en människa slipper gå in och göra sådant manuellt.

Man kan säga att det är ett säkert sätt att ge andra utvecklare/system tillgång till utvalda delar av ens eget system, utan att för den delen ge direkt tillgång till databaser, kod eller annat.

För att göra en liknelse: Personalen på Apoteket är som ett API (eller ”gränssnitt”) mellan dig som kund och de receptbelagda medicinerna bakom disken. Du autentisierar/legitimerar dig och berättar vad du vill ha, kassapersonalen (API:t) kollar att du har behörighet att hämta det efterfrågade och levererar det åt dig.

… Du saknar dock ”skrivrättigheter” och får således inte fylla på med medicin eller ändra ordningen på dem i skåpen.

Leverantörer däremot har ”skrivrättigheter”: De får fylla på med ny medicin genom ett annat ”endpoint” (en annan dörr, så att säga), men bara via API:t (kassapersonalen), dvs de får inte själva kliva in på lagret och rota runt i alla lådor, den delen sköter API:t åt dem.
__________________
Senast redigerad av utforskaren 2025-01-14 kl. 18:04.
Citera
2025-01-14, 21:56
  #12
Medlem
kaerakels avatar
Application (applikation eller program, tänk ”saker du kan bygga med mjukvara”)
Programming (för programmering, tänk text)
Interface (gränssnitt, dvs förbindelselänken mellan applikationen och användaren)

Förkortningen API har blivit synonym med web-API, dvs onlinetjänster där du kan hämta data. Då ”frågar” du API:et om information.

Faktum är att all programvara som ska användas består av ett eller flera API:er. Ett API är liksom programmets knappar, rattar och spakar.
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in