Trafiklab - ansluta till ett API: Skillnad mellan sidversioner

Från Webbling
Hoppa till: navigering, sök
Skapade sidan med 'Vi ska nu titta på hur man kan kontakta ett API hos [http://www.trafiklab.se/ Trafiklab]. För detta krävs att du registrerat dig som person samt att du skapat ett proje...'
 
Rad 2: Rad 2:


== "[https://www.trafiklab.se/api/sl-platsuppslag SL Platsuppslag]" ==
== "[https://www.trafiklab.se/api/sl-platsuppslag SL Platsuppslag]" ==
"[https://www.trafiklab.se/api/sl-platsuppslag SL Platsuppslag]" är ett [[API]] som kan ge oss information om en plats genom att ange platsens namn (eller delar av platsens namn). Man kan söka efter hållplatser, adresser och platser.  Om du går in under dokumentationen för "[https://www.trafiklab.se/api/sl-platsuppslag SL Platsuppslag]", så ser du att det finns ett enda [[API]]-anrop som vi kan utföra mot detta API. Detta är ett [[REST]]-anrop och dess [[URL]] anges enligt mallen:
"[https://www.trafiklab.se/api/sl-platsuppslag SL Platsuppslag]" är ett [[API]] som kan ge oss information om en plats genom att ange platsens namn (eller delar av platsens namn). Man kan söka efter hållplatser, adresser och platser.  Om du går in under dokumentationen för "[https://www.trafiklab.se/api/sl-platsuppslag SL Platsuppslag]", så ser du att det finns ett enda [[API]]-anrop som vi kan utföra mot detta API. Detta är ett [[REST]]-anrop och dess [[URL]] anges enligt mallen (för korthetens skulle, utelämnar vi de parametrar som inte är obligatoriska):


<code>
<code>
api.sl.se/api2/typeahead.<FORMAT>?key=<DIN NYCKEL>&searchstring=<SÖKORD>&stationsonly=<ENDAST STATIONER>&maxresults=<MAX ANTAL SVAR>
api.sl.se/api2/typeahead.<FORMAT>?key=<DIN NYCKEL>&searchstring=<SÖKORD></code>
</code>


Alla bitar som anges i formen "<code>&lt;NÅNTING</code>" är saker som du behöver fylla i med information som gäller för just ditt anrop. Vi går igenom vad dessa ska sättas till:
Alla bitar som anges i formen "<code>&lt;NÅNTING></code>" är saker som du behöver fylla i med information som gäller för just ditt anrop. Vi går igenom vad dessa ska sättas till:


;&lt;FORMAT>:Vilken typ av svars data vill du ha? [[JSON]] eller [[XML]].
;&lt;FORMAT>:Vilken typ av svars data vill du ha? [[JSON]] eller [[XML]].
;&lt;DIN NYCKEL>:Här anger du din [[API-nyckel]].
;&lt;DIN NYCKEL>:Här anger du din [[API-nyckel]].
;&lt;SÖKORD>:Söksträngen som anger vad du vill söka efter.
;&lt;SÖKORD>:Söksträngen som anger vad du vill söka efter.
;&lt;ENDAST STATIONER>:Vill du enbart söka på stationsnamn. Kan sättas <code>true</code> eller <code>false</code>.
 
;&lt;MAX ANTAL SVAR>:Hur många svar vill du maximalt erhålla. 50 är max.
Följande går att sätta, men de är inte obligatoriska:
 
;&lt;ENDAST STATIONER>:Vill du enbart söka på stationsnamn. Kan sättas <code>true</code> eller <code>false</code>. Defaultvärdet är <code>false</code>.
;&lt;MAX ANTAL SVAR>:Hur många svar vill du maximalt erhålla. 50 är max. Defaultvärdet är <code>10</code>.


En fullständig söknings-[[URL]] skulle alltså kunna tänkas se ut så här (förutom att det är fejkad [[API-nyckel]]:
En fullständig söknings-[[URL]] skulle alltså kunna tänkas se ut så här (förutom att det är fejkad [[API-nyckel]]:


<code>
<code>
https://api.sl.se/api2/typeahead.json?key=BADA551337&searchstring=gata&stationsonly=false&maxresults=10
https://api.sl.se/api2/typeahead.json?key=BADA551337&searchstring=gata
</code>
</code>


Prova att klippa ut ovanstående [[URL]], klistra in den i URL-fältet på en webbläsare och ersätt <code>BADA551337</code> med din [[API-nyckel]]. Tryck på enter och du bör få svar ifrån servern. Svaret du erhåller visar alla platser som innehåller strängen "gata". Svårare än så är det inte att kontakta detta [[API]]! De flesta [[REST]]-[[API]]:er har den fördelen att man enkelt kan testa dem direkt i sin webbläsare.
Prova att klippa ut ovanstående [[URL]], klistra in den i URL-fältet på en webbläsare och ersätt <code>BADA551337</code> med din [[API-nyckel]]. Tryck på enter och du bör få svar ifrån servern. Svaret du erhåller visar alla platser som innehåller strängen "gata". Svårare än så är det inte att kontakta detta [[API]]! De flesta [[REST]]-[[API]]:er har den fördelen att man enkelt kan testa dem direkt i sin webbläsare.

Versionen från 2 januari 2016 kl. 13.38

Vi ska nu titta på hur man kan kontakta ett API hos Trafiklab. För detta krävs att du registrerat dig som person samt att du skapat ett projekt hos dem. I exemplen kommer vi att använda oss av "SL Platsuppslag", så registrera att ditt projekt använder sig av detta API och hämta ut en API-nyckel. Om du inte har gjort dessa saker, så passa på att göra det nu. Då blir det enklare att följa med i exemplen och du kan testa saker för dig själv.

"SL Platsuppslag"

"SL Platsuppslag" är ett API som kan ge oss information om en plats genom att ange platsens namn (eller delar av platsens namn). Man kan söka efter hållplatser, adresser och platser. Om du går in under dokumentationen för "SL Platsuppslag", så ser du att det finns ett enda API-anrop som vi kan utföra mot detta API. Detta är ett REST-anrop och dess URL anges enligt mallen (för korthetens skulle, utelämnar vi de parametrar som inte är obligatoriska):

api.sl.se/api2/typeahead.<FORMAT>?key=<DIN NYCKEL>&searchstring=<SÖKORD>

Alla bitar som anges i formen "<NÅNTING>" är saker som du behöver fylla i med information som gäller för just ditt anrop. Vi går igenom vad dessa ska sättas till:

<FORMAT>
Vilken typ av svars data vill du ha? JSON eller XML.
<DIN NYCKEL>
Här anger du din API-nyckel.
<SÖKORD>
Söksträngen som anger vad du vill söka efter.

Följande går att sätta, men de är inte obligatoriska:

<ENDAST STATIONER>
Vill du enbart söka på stationsnamn. Kan sättas true eller false. Defaultvärdet är false.
<MAX ANTAL SVAR>
Hur många svar vill du maximalt erhålla. 50 är max. Defaultvärdet är 10.

En fullständig söknings-URL skulle alltså kunna tänkas se ut så här (förutom att det är fejkad API-nyckel:

https://api.sl.se/api2/typeahead.json?key=BADA551337&searchstring=gata

Prova att klippa ut ovanstående URL, klistra in den i URL-fältet på en webbläsare och ersätt BADA551337 med din API-nyckel. Tryck på enter och du bör få svar ifrån servern. Svaret du erhåller visar alla platser som innehåller strängen "gata". Svårare än så är det inte att kontakta detta API! De flesta REST-API:er har den fördelen att man enkelt kan testa dem direkt i sin webbläsare.