Mitä API tarkoittaa? Koodaavan lyhenteen määritelmä tavallisella englanniksi.

Ei, API ei tarkoita Apple Pie Inside -tekniikkaa. ?? API on lyhenne sanoista Application Programming Interface. Sovellusliittymien avulla kaksi sovellusta voi olla vuorovaikutuksessa (tai vuorovaikutuksessa) keskenään.

API, joukko ohjelmointiohjeita ja toimintoja, joita käytetään verkkosivuston tai verkkopohjaisen sovelluksen käyttämiseen. Sovellusliittymä antaa muiden kehittäjien käyttää sovelluksesi tietoja ja toimintoja. Sen avulla tuotteesi voi olla vuorovaikutuksessa muiden tuotteiden kanssa.

Sovellusliittymiä käytettiin ensimmäisen kerran ohjelmistojen ja laitteistojen kehittämisessä 1980-luvulla. Mutta nyt, kun ihmiset puhuvat sovellusliittymistä, he viittaavat yleensä web-sovellusliittymiin tai tarkemmin RESTful-sovellusliittymiin. RESTful-sovellusliittymien käyttäminen verkkopohjaisten sovellusten kehittämisessä on tullut yleiseksi käytännöksi.

Verkkosovellusliittymä on pohjimmiltaan ohjelma, jonka kanssa olet täysin vuorovaikutuksessa URL-osoitteiden kautta. Normaalisti, kun lähetät pyynnön URL-osoitteeseen selaimesi kanssa, palvelin lähettää vastauksen, joka näkyy näytettäväksi. Asiat ovat erilaiset, kun lähetät pyynnön sovellusliittymän URL-osoitteeseen. Palvelin lähettää takaisin jotain, jonka on tarkoitus olla hyödyllistä vain tietokoneelle. Sovellusliittymä palauttaa tietoja, joita voidaan käyttää toisella verkkosivustolla tai ohjelmassa.

Mihin sovellusliittymiä käytetään?

Sovellusliittymiä ei ole tarkoitettu loppukäyttäjän käytettäviksi. Niitä käytetään ohjelmistoilla vuorovaikutuksessa muiden ohjelmistojen kanssa. Esimerkiksi verkkosivusto voi soittaa Open Weather -sovellusliittymään saadakseen säätietoja näytettäväksi verkkosivustolla.

Sovellusliittymiä käytetään joskus myös sisäisesti yhden yrityksen sisällä. Niitä voidaan käyttää luomaan sisäisiä verkkosivustoja ja järjestelmiä, jotka ovat vuorovaikutuksessa toistensa kanssa.

Kuinka API toimii?

Sovellusliittymä antaa muille pääsyn yleensä suureen määrään järjestettyä dataa. Tietojen portinvartija antaa kehittäjälle oikeuden ( API-avaimen muodossa ) pyytää palvelimelta tietoja. Jos pyyntö onnistuu, palvelin vastaa viestillä, yleensä JSON- tai XML-muodossa.

Yleensä on dokumentaatio käytettävälle sovellusliittymälle, jota kutsutaan API-määritykseksi. Tämä selittää hallintalaitteet ja API: n käytön.

Tässä on esimerkki OpenWeather-sovellusliittymän API-määrityksestä, jonka avulla voit saada nykyisen sään tietystä sijainnista: //openweathermap.org/current

API-määritykset sisältävät luettelon URL-osoitteista, joita voit käyttää tietojen noutamiseen. Yhden URL-osoitteen käyttöä kutsutaan API-pyynnöksi tai API-kutsuksi . Usein määrittely näyttää parametrit ja vastauksen jokaiselle URL-osoitteelle, joka on osa sovellusliittymää.

Parametrit

Parametrit ovat se, mitä lisäät URL-osoitteen loppuun määritelläksesi, mitä tietoja haluat API: n palautettavan. Parametrit ovat periaatteessa muuttujia, jotka välität API: lle.

URL-osoite säätietojen saamiseksi OpenWeather API: lta on:

api.openweathermap.org/data/2.5/weather.

Sinun on kuitenkin lisättävä kaupunki parametrina, jotta voit määrittää, mihin paikkaan säätiedot palautetaan. Tässä on URL-osoite, jossa on kaupunkiparametri:

api.openweathermap.org/data/2.5/weather?q=London

Joskus vastauksen saamiseksi vaaditaan parametreja. Joskus parametrit ovat valinnaisia. OpenWeather-sovellusliittymässä vaaditaan antamaan sijainti, mutta kaupungin nimen lisäksi on muitakin tapoja määrittää sijainti. Kaikki tapat on annettu API-määrityksessä.

Parametrit voivat myös määrittää esimerkiksi:

  • Kuinka tulokset tulisi lajitella?
  • Kuinka monta tulosta pitäisi palauttaa?
  • Missä muodossa tulosten tulisi olla?
  • Mille ajanjaksolle haluat tuloksia?

Vastaus

Kun lähetät pyynnön sovellusliittymälle, saat vastauksen takaisin. Saat joko pyytämäsi tiedot takaisin tai syyn, miksi pyyntö epäonnistui.

Alla on esimerkki vastauksen saat, kun lähettää seuraavan pyynnön: api.openweathermap.org/data/2.5/weather?q=London. Se on JSON-vastaus.

{ "coord": { "lon": -0.13, "lat": 51.51 }, "weather": [ { "id": 300, "main": "Drizzle", "description": "light intensity drizzle", "icon": "09d" } ], "base": "stations", "main": { "temp": 280.32, "pressure": 1012, "humidity": 81, "temp_min": 279.15, "temp_max": 281.15 }, "visibility": 10000, "wind": { "speed": 4.1, "deg": 80 }, "clouds": { "all": 90 }, "dt": 1485789600, "sys": { "type": 1, "id": 5091, "message": 0.0103, "country": "GB", "sunrise": 1485762037, "sunset": 1485794875 }, "id": 2643743, "name": "London", "cod": 200 }

API-vastausta ei saa muotoilla kuten tässä esimerkissä. Kaikki teksti on usein yhdellä rivillä. Koska muotoilu on tarkoitettu pääasiassa tietokoneen eikä henkilön lukemiseen, muotoilulla ei ole merkitystä.

API-avaimet

Jos yrität yllä olevaa URL-osoitetta itse, et saa vastausta yllä. Se näyttää todennäköisesti enemmän:

{ "cod": 401, "message": "Invalid API key. Please see //openweathermap.org/faq#error401 for more info." }

Useimmat sovellusliittymät vaativat jonkinlaisen todennuksen ennen kuin ne palauttavat tietoja. Tämä on yleensä API-avaimen muodossa . Nämä avaimet ovat tavallaan kuin salasana. Ne ovat pitkä merkkijono kirjaimia ja numeroita, jotka sinun on lähetettävä API-pyyntösi kanssa, jotta palvelin tietää, että sinulla on pääsy tietoihin.

OpenWeather-sovellusliittymälle ja monille muille sovellusliittymille saat API-avaimen ilmaiseksi tilin luomisen jälkeen. Monet yritykset käyttävät API-avaimia ilmaisissa sovellusliittymissä varmistaakseen, että ihmiset eivät tee useita pyyntöjä päivässä. Se voisi todella tukkia palvelimen, jos yksi henkilö tekisi tuhansia pyyntöjä joka minuutti.

Jotkut sovellusliittymät ovat julkisia ilman API-avainta. Alla on sovellusliittymä, jonka avulla voit löytää riimisanoja. Napsauta linkkiä ja yritä sitten muuttaa lopullista sanaa URL-osoitteessa etsiäksesi erilaisia ​​riimisanoja.

//api.datamuse.com/words?rel_rhy=camp

Haluatko oppia lisää?

Jos haluat lisätietoja sovellusliittymien käytöstä, tutustu alla olevaan videoon freeCodeCamp.org-YouTube-kanavalla.