User Tools

Site Tools


api

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
api [2016/03/30 11:25]
ene
api [2016/04/01 09:20] (current)
ene created
Line 1: Line 1:
 ====== API ====== ====== API ======
  
-API (Application Programming Interface) är en överenskommet sätt att kommunicera mellan datorprogram som möjliggör för ett program att ställa frågor och få svar från ett annat. Någon som har en stor databas kan exempelvis skapa ett API så att andras program (via exempelvis Internet) kan göra sökningar och begära ut uppgifter från databasen utan att programmet som begär data får direkttillgång till databasen.+ 
 +API ((Application Programming Interface) är en överenskommet sätt att kommunicera mellan datorprogram som möjliggör för ett program att ställa frågor och få svar från ett annat. Någon som har en stor databas kan exempelvis skapa ett API så att andras program ​((via exempelvis Internet) kan göra sökningar och begära ut uppgifter från databasen utan att programmet som begär data får direkttillgång till databasen.
  
 ==Exempel på befintliga API:n== ==Exempel på befintliga API:n==
Line 7: Line 8:
 Här ges några exempel på API:n för att ge en inblick i vad det handlar om och hur det går till. Här ges några exempel på API:n för att ge en inblick i vad det handlar om och hur det går till.
  
-===LIBRIS ​Xsearch===+===LIBRIS ​  ​Xsearch===
  
-Databaskatalogen [http://​libris.kb.se/​|LIBRIS] (de svenska forskningsbibliotekens gemensamma katalog) har ett "​lättvikts-API" där frågor (sökningar) ställs via HTTP-anrop (samma sorts anrop som används för att anropa hemsidor genom webbläsares adressfält).+Databaskatalogen ​[[http://​libris.kb.se/​|LIBRIS]] ((de svenska forskningsbibliotekens gemensamma katalog) har ett "​lättvikts API" där frågor ​((sökningar) ställs via HTTP anrop ((samma sorts anrop som används för att anropa hemsidor genom webbläsares adressfält).
  
 Funktionen kallas Xsearch och för att exempelvis söka efter boken med titeln ''​Fårad mark''​ formuleras frågan alltså på samma sätt som en hemsideadress:​ Funktionen kallas Xsearch och för att exempelvis söka efter boken med titeln ''​Fårad mark''​ formuleras frågan alltså på samma sätt som en hemsideadress:​
  
-[http://​libris.kb.se/​xsearch?​query=TIT:​Fårad+mark]+[[http://​libris.kb.se/​xsearch?​query=TIT:​Fårad+mark]]
  
-Om du klickar på länken ovan ges svaret på formatet [XML]. Tanken med XML-formatet är att det skall kunna läsas framförallt av olika datorprogram men även vara förståeligt för människor. Det går också att få svaret på annat format, exempelvis [http://​www.json.org/​|JSON (JavaScript Object Notation)], vilket också kan förstås av olika datorprogram men är snäppet mer lättförstått för människor. Svar på detta format ges genom att lägga till ''&​format=json''​ i slutet av HTTP-anropet:+Om du klickar på länken ovan ges svaret på formatet ​[[XML]]. Tanken med XML formatet är att det skall kunna läsas framförallt av olika datorprogram men även vara förståeligt för människor. Det går också att få svaret på annat format, exempelvis ​[[http://​www.json.org/​|JSON ​((JavaScript Object Notation)]], vilket också kan förstås av olika datorprogram men är snäppet mer lättförstått för människor. Svar på detta format ges genom att lägga till ''&​format=json''​ i slutet av HTTP anropet:
  
-[http://​libris.kb.se/​xsearch?​query=TIT:​Fårad+mark&​format=json]+[[http://​libris.kb.se/​xsearch?​query=TIT:​Fårad+mark&​format=json]]
  
 Svaret som ges denna gång ser ut som följer: Svaret som ges denna gång ser ut som följer:
Line 25: Line 26:
 "​to":​ 1, "​to":​ 1,
 "​records":​ 1, "​records":​ 1,
-"​list":​ [+"​list": ​[[
 { {
 "​identifier":​ "​http://​libris.kb.se/​bib/​8231645",​ "​identifier":​ "​http://​libris.kb.se/​bib/​8231645",​
 "​title":​ "​Fårad mark : handbok för tolkning av historiska kartor och landskap",​ "​title":​ "​Fårad mark : handbok för tolkning av historiska kartor och landskap",​
-"​creator":​ "​Cserhalmi,​ Niklas, 1968-",+"​creator":​ "​Cserhalmi,​ Niklas, 1968 ",
 "​type":​ "​text",​ "​type":​ "​text",​
 "​publisher":​ "​Stockholm : Sveriges hembygdsförb",​ "​publisher":​ "​Stockholm : Sveriges hembygdsförb",​
Line 36: Line 37:
 "​description":​ "​Recensionslänk"​ "​description":​ "​Recensionslänk"​
 } }
-]+]]
 }}@@ }}@@
  
-Observera att båda dessa svar kan läsas av ett program skrivet med programmeringsspråket [Python]+Observera att båda dessa svar kan läsas av ett program skrivet med programmeringsspråket ​[[Python]].
- +
-Information om hur frågor till LIBRIS formuleras ges [http://​librishelp.libris.kb.se/​help/​xsearch_swe.jsp?​open=tech|här].+
  
-===Google Maps - Google Static Maps API===+Information om hur frågor till LIBRIS formuleras ges [[http://​librishelp.libris.kb.se/​help/​xsearch_swe.jsp?​open=tech|här]].
  
-Det finns flera olika API:n kopplade till [Google Maps] (en överblick finns [http://​code.google.com/​intl/​sv-SE/​apis/​maps/​index.html|här]. Ett API värt att nämna heter ''​Google Static Maps API''​. Den möjliggör att en begäran skickas i form av ett HTTP-anrop och får då en [Karta|statisk kartbild] som svar.+===Google Maps   ​Google Static Maps API===
  
-Exempelvis ger HTTP-anropet nedan den nedanstående kartbilden över universitet som svar. I anropet har plats och [Skala|skala] valts, en markör placerats ut vilken pekar ut Y-huset. Vidare har färger gjorts mörkare samt ändrats för vattnet och vägarnas kanter. Mer om hur API:n fungerar kan läsas  +Det finns flera olika API:n kopplade till [[Google Maps]] ((en överblick finns [[http://​code.google.com/​intl/​sv SE/​apis/​maps/​index.html|här]]. Ett API värt att nämna heter ''​Google Static Maps API''​. Den möjliggör att en begäran skickas i form av ett HTTP anrop och får då en [[Karta|statisk kartbild]] som svar.
-[http://​code.google.com/​intl/​sv-SE/​apis/​maps/​documentation/​staticmaps/​|här].+
  
-@@http://maps.google.com/​maps/​api/staticmap?​center=Stockholms+universitet,​Stockholm&​zoom=15&​size=512x512&​maptype=roadmap&​markers=color:​green|label:Y|59.365597,​18.056416&​style=feature:​landscape|element:​geometry|lightness:​-50&​style=feature:​water|element:​geometry|hue:​9BB2CE&​style=feature:​road.local|element:​geometry|hue:​D95E00&​sensor=false@@+Exempelvis ger HTTP anropet nedan den nedanstående kartbilden över universitet som svar. I anropet har plats och [[Skala|skala]] valts, en markör placerats ut vilken pekar ut Y huset. Vidare har färger gjorts mörkare samt ändrats för vattnet och vägarnas kanter. Mer om hur API:n fungerar kan läsas  
 +[[http://code.google.com/intl/sv SE/apis/maps/documentation/​staticmaps/|här]].
  
-:[image||{UP}/staticmap.png]+@@http://​maps.google.com/​maps/​api/staticmap?​center=Stockholms+universitet,​Stockholm&​zoom=15&​size=512x512&​maptype=roadmap&​markers=color:​green|label:​Y|59.365597,​18.056416&​style=feature:​landscape|element:​geometry|lightness:​ 50&​style=feature:​water|element:​geometry|hue:​9BB2CE&​style=feature:​road.local|element:​geometry|hue:​D95E00&​sensor=false@@
  
 +:​[[staticmap.png]]
  
api.txt · Last modified: 2016/04/01 09:20 by ene