12.1 API till en webbtjänst med ett bildarkiv
I detta kapitel ska vi titta på API (Application Programming Interface) till ett par webbtjänster. De fungerar på olika sätt och i detta exempel börjar vi med webbtjänsten Pixabay, som är en webbplats där användare kan lägga upp bilder och märka upp dem med olika "taggar" som beskriver bilderna. Till denna webbtjänst finns det ett API, så att man kan söka efter bilder och sedan inkludera dem på sin egen webbsida. Den teknik som används är AJAX, som togs upp i kapitel 9.
27 min.
Sammanfattning
Här ges en kort beskrivning av tekniken och Pixabay API.
REST (Representational State Transfer)
REST är ett begrepp som beskriver arkitekturen för kommunikation med webbtjänsten. Vi går inte in på alla detaljer här, utan nöjer oss med att konstatera att kommunikationen sker via http (eller https) och den resurs man begär anges i URL:en, då man adresserar tjänsten, alltså på samma sätt som vi tidigare sett då AJAX togs upp. I API:t finns ett antal olika metoder för att specificera vad som begärs. Vilken metod som ska användas och argument till den skickas med som en del av URL:en.
https://the-web-service.com/api/?method=api_function&par1=x&par2=y
Egentligen använder vi inte allt som ingår i REST, utan den teknik som används här är lite lösare definierat. Den typ av API som används i exemplet kallas ibland för RESTful API.
API key
Till en del webbtjänsters API krävs en nyckel, som är en textsträng som skickas med i url:en.
https://the-web-service.com/api/?api_key=gT5yHus5gTsDEgtu&method=api_function&par1=x&par2=y
Syftet med denna är att webbtjänsten ska kunna hålla koll på de anrop som sker och t.ex. begränsa åtkomst av olika delar och i vissa fall ta betalt för webbtjänsten. Det är utvecklaren av webbsidan där API:t används, som måste registrera en API-nyckel.
Pixabay API
I dokumentationen av Pixabay API (se referens) beskrivs hur man med ett antal olika parametrar kan söka efter bilder eller videofilmer. Man gör en begäran med fetch
och svaret ges som ett JSON-objekt. I svaret finns bl.a. URL:er för de bilder man fått fram. Dessa URL:er kan man lägga in i img
-taggar, för att visa bilderna på webbsidan.
Egna övningar
Exemplet är ganska uttömmande på detta API, så det finns ingen övning. Men ta fram dokumentationen för API:t och orientera dig i de parametrar som kan användas vid sökning och de egenskaper som ingår i svaret.