Nyttig informasjon for utviklere

I denne artikkelen finner du Informasjon om tilgang til sikre tjenester, dokumentasjon av REST-API og eksempel på bruk av GeosøkRute.

Tilgang til sikre tjenester

Tjenestene fra Geodata Online er sikret. For å benytte tjenestene i en applikasjon eller web-løsning må du generere en token, enten manuelt eller programmatisk via ArcGIS Server REST API.

Du må registrere deg som bruker av Geodata Online og ha gyldig brukernavn og passord er for å kunne generere en gyldig token. Hver token er kun gyldig i en tidsperiode som du selv bestemmer, oppad begrenset til 365 dager.

Token brukes for å autentisere og autorisere alle HTTP kall mot Geodata Online. En token er gyldig enten for en IP adresse eller en HTTP referer ID.

  • IP adresse. Du kan enten angi IP adresse når du genererer en token, eller be Geodata Online lage en token for den IP adressen du gjør forespørselen fra.
  • Referer ID er URLen til nettsiden der trafikken innledes fra.

Lage token manuelt:

denne siden kan du skrive inn brukernavn og passord, pluss en del andre innstillinger, og lage et nytt token.

Du kan også programmatisk generere token ved bruk av REST API-kallet generateToken:

  • https://tokens.geodataonline.no/arcgis/tokens/generateToken?username=&password=&client=&expiration=&f=&callback=|html>|requestip|ip>
  • client=requestip genererer en token for IP adressen der kallet sendes fra.

Hvis man bruker client=ip må parameteren &ip= legges til Hvis man bruker client=referer må parameteren &referer= legges til.

For parametrene <brukernavn>, <passord> og <minfunksjon> setter du inn dine personlige verdier.

URL encoding

Alle parametere som sendes inn til token generatoren bør URL encodes.  URL encodeing er spesielt viktig fordi passord for tilgang til Geodata Online  inneholde spesialtegn.

NB! Er ditt passord f.eks sdWEgŤ#, må passordet angis som sdWEg%C3%85%C2%A4%23


Dokumentasjon av REST-API

Alt av tjenester fra Geodata Online er tilgjenglig via REST/JSON.

Geodata Online er delt inn i flere "plattformer" avhengig av type tjeneste.

Alle tjenester er tilgjengelig på http og https.

REST-endepunktene over har også en enkel web/html-visning. Logger du deg inn ser du hvilke tjenester du har tilgang til og kan navigere deg rundt. Det er mulig å teste ut alt av funksjoner på tjenester via dette webgrensesnittet. Dette er en effektiv måte å se meta-data og teste ut kall og responser. Full dokumentasjon av REST-grensesnittet er alltid tilgjengelig øverst i høyre hjørne på websidene. 

Alt av dokumentasjon finnes på denne lenken.


Eksempel på bruk av GeosøkRute

GeosøkRute er en avansert ruteberegner som kan benyttes via REST. For å få kjøreanvisninger returnert på norsk er det viktig at man angir &directionsLanguage=nb-NO.

Eksempel

Eksempelet krever enten innlogging eller at du legger på &token= parameteren i kallet. Veiledning til henting av token

http://services2.geodataonline.no/arcgis/rest/services/Geosok/GeosokRute/NAServer/Route/solve?stops={+%22features%22++%3A+[%0D%0A{%0D%0A++%22geometry%22+%3A+{%0D%0A++%22x%22+%3A+262327.944%2C+%22y%22+%3A+6649040.117%2C+%22spatialReference%22+%3A+{%22wkid%22+%3A+25833}%0D%0A++}%2C%0D%0A++%22attributes%22+%3A+{%22Name%22+%3A+%22Stop+1%22}%0D%0A}%2C%0D%0A{%0D%0A++%22geometry%22+%3A+{%0D%0A++%22x%22+%3A+261790.083%2C+%22y%22+%3A+6648942.57%2C+%22spatialReference%22+%3A+{%22wkid%22+%3A+25833}%0D%0A++}%2C%0D%0A++%22attributes%22+%3A+{%22Name%22+%3A+%22Stop+2%22}%0D%0A}%0D%0A]%0D%0A}&ignoreInvalidLocations=true&impedanceAttributeName=Minutes&restrictionAttributeNames=Oneway&restrictUTurns=esriNFSBAllowBacktrack&useHierarchy=true&returnDirections=true&returnRoutes=true&returnStops=false&returnBarriers=false&returnPolylineBarriers=false&returnPolygonBarriers=false&directionsLanguage=nb-NO&outputLines=esriNAOutputLineTrueShapeWithMeasure&findBestSequence=false&preserveFirstStop=false&preserveLastStop=false&useTimeWindows=false&startTime=0&outputGeometryPrecisionUnits=esriDecimalDegrees&directionsOutputType=esriDOTInstructionsOnly&directionsTimeAttributeName=Minutes&directionsLengthUnits=esriNAUKilometers&returnZ=false&f=pjson