|
|
(38 mellanliggande versioner av samma användare visas inte) |
Rad 1: |
Rad 1: |
− | {| align="right"
| + | Informationen är flyttad till [https://temperatur.nu/info/api/ https://temperatur.nu/info/api/] |
− | | __TOC__
| |
− | |}
| |
− | Det finns ett enkelt API för att hämta senaste temperaturerna från temperatur.nu.
| |
− | | |
− | Aktuell API-version 1.9.
| |
− | | |
− | Data returneras i XML-format
| |
− | | |
− | ==Support==
| |
− | För support på API-funktionen, använd [http://www.temperatur.nu/forum/forslag-feedback/diskusionstrad-for-api-funktionen-t1373.html Forumet på www.temperatur.nu].
| |
− | | |
− | ==Villkor==
| |
− | *APIet får ej accessas med samma förfrågan oftare än var femte minut från klienterna. Om detta villkor bryts kan det IP-nummer som överskrider tidsgränsen tillfälligt att blockeras.
| |
− | *Det måste mycket tydligt framgå att temperaturerna kommer från temperatur.nu.
| |
− | *Där så är möjligt skall temperaturerna vara länkar till temperatur.nu.
| |
− | *Temperatur.nus [[Logotype|logotype]] skall finnas i applikationen, gärna så den tydligt syns när programmet används. Om detta ej är möjligt kan logotypen placeras där inställningar för applikationen görs.
| |
− | *APIet får ej användas för att automatiskt samla in och lagra data längre än 24h.
| |
− | *I de fall applikationen kommer att kosta pengar för användaren krävs särskild överenskommelse med temperatur.nu. Kontakta [ mailto: [email protected] [email protected]] för mer information. | |
− | *Förfrågningar till APIet kan signeras, osignerade förfrågningar är begränsade till ca 12/timmer för per clientid. Maila [mailto:[email protected] [email protected]] för att att erhålla en signeringsnyckel för ditt clientid (läs mer om hur du signerar förfrågningarna längre ner på denna sida). | |
− | | |
− | ==Kort beskrivning==
| |
− | APIet är tänkt att användas av de som skapar extern mjukvara, tex applikationer för Iphone och Android.
| |
− | Målet är att APIet skall vara lättförståeligt och lätt att använda - feedback från användarna är av stor vikt för att kunna utveckla APIet!
| |
− | | |
− | ==Var finns APIet?==
| |
− | Den senaste versionen av APIet hittar du på www.temperatur.nu/api/tnu.php
| |
− | För att använda en specifik version kan du använda www.temperatur.nu/api/tnu_{version}.php, ex www.temperatur.nu/api_1.2.php för version 1.2.
| |
− | Inga garantier ges för att olika versioner av APIet är kompatibla med varandra. Målsättningen är dock att APIerna skall vara bakåtkompatibla.
| |
− | | |
− | | |
− | ==Parametrar==
| |
− | {| border=1 class="wikitable"
| |
− | |-
| |
− | ! Parameter
| |
− | ! Beskrivning
| |
− | ! Kan ej användas med
| |
− | ! Introducerad i API-version
| |
− | |-
| |
− | | p
| |
− | | Anger för vilka orter data skall returneras - kommaseparerad lista
| |
− | | lat, lon, num
| |
− | | 1.0
| |
− | |-
| |
− | | dc
| |
− | | Anger om decimalkomma skall användas i stället för decimalpunkt i fälten <temperatur>, <lat>, <lon> och <dist>.
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | simple
| |
− | | Minimal output, returnerar endast <title>, <id> och <temp>
| |
− | | verbose
| |
− | | 1.0
| |
− | |-
| |
− | | verbose
| |
− | | Returnerar alla fält för orten, se beskrivning nedan
| |
− | | simple
| |
− | | 1.0
| |
− | |-
| |
− | | coordinates
| |
− | | Visar koordinaterna för valda orter. Kan användas tillsammans med simple för att kunna positionera orter på en karta utan att behöva hämta alla fält.
| |
− | | verbose
| |
− | | 1.0
| |
− | |-
| |
− | | lat
| |
− | | Används tillsammans med lon och ev num. Det spelar inte någon roll om decimal- eller kommapunkt används. När dessa parametrar används returneras de num närmaste orterna, närmaste orten först.
| |
− | | p
| |
− | | 1.0
| |
− | |-
| |
− | | lon
| |
− | | Används tillsammans med lat och ev num. Det spelar inte någon roll om decimal- eller kommapunkt används. När dessa parametrar används returneras de num närmaste orterna, närmaste orten först..
| |
− | | p
| |
− | | 1.0
| |
− | |-
| |
− | | num
| |
− | | Används tillsammans med lat och lon. Anger hur många orter som skall returneras. Standard är 1 och max är 5.
| |
− | | p
| |
− | | 1.0
| |
− | |-
| |
− | | cli
| |
− | | Skall användas för att identifiera vilken klient som hämtar data. Ex "cli=tnu_widget". Klienter som missbrukar APIet kan komma att få endast begränsad tillgång.
| |
− | |
| |
− | | 1.1
| |
− | |-
| |
− | | graph
| |
− | | Används för att generera en graf för upp till 5 orter specificerade med variabeln p.
| |
− | |
| |
− | | 1.2
| |
− | |-
| |
− | | span
| |
− | | Specificerar för vilket tidsperspektiv grafer skall skapas. Giltiga värden är: 1day (standard), 1week, 1month, 1year.
| |
− | |
| |
− | | 1.2
| |
− | |-
| |
− | | x
| |
− | | Specificerar hur bred grafen skall vara. Giltiga värden är 150-1500. 300 är standard.
| |
− | |
| |
− | | 1.2 (Tillåtna värden justerade i v 1.4)
| |
− | |-
| |
− | | y
| |
− | | Specificerar hur hög grafen skall vara. Giltiga värden är 125-900. 200 är standard.
| |
− | |
| |
− | | 1.2 (Tillåtna värden justerade i v 1.4)
| |
− | |-
| |
− | | verbose_g
| |
− | | Visar min/max/medel/senaste värde i grafen. Visar även när data senast hämtades för den valda orten.
| |
− | |
| |
− | | 1.5
| |
− | |-
| |
− | | shift_g
| |
− | | Anger om grafen skall visa äldre data. Exempel: om span är 1day och shift_g är 1 visas en graf för igår, om shift_g är 2 visar grafen data för i förrgår etc etc. Standard är 0.
| |
− | |
| |
− | | 1.5
| |
− | |-
| |
− | | 1axis
| |
− | | Används för att endast visa temperaturskalan till vänster. Används med fördel i små grafer för att spara utrymme.
| |
− | |
| |
− | | 1.6
| |
− | |-
| |
− | | linewidth
| |
− | | Anger bredden på graflinjen. Giltiga värden 1 till 5. Även flyttal, ex 1.5, fungerar. Decimalkomma eller decimalpunkt spelar inte någon roll.
| |
− | |
| |
− | | 1.7
| |
− | |-
| |
− | | cb
| |
− | | CacheBust. Om denna parameter finns i urlen (&cb) kommer ett randomiserat värde att läggas till i slutet av graf-urlerna. Denna parameter kan användas för att se till att inte grafen cachas lokalt hos användaren eller i någon dåligt konfigurerad proxy mellan temperatur.nu och användaren.
| |
− | |
| |
− | | 1.8
| |
− | |-
| |
− | | fontsize
| |
− | | Anger hur stor texten skall vara. Observera att värdet inte kan relateras till vanliga textstorlekar, du måste därför testa dig fram.
| |
− | |
| |
− | | 1.8
| |
− | |-
| |
− | | sign
| |
− | | Signering av urlen, se nedan för mer information.
| |
− | |
| |
− | | 1.0 (tillagd i efterhand)
| |
− | |}
| |
− | | |
− | ==Beskrivning av returnerade fält==
| |
− | {| border=1 class="wikitable"
| |
− | |-
| |
− | ! Fält
| |
− | ! Beskrivning
| |
− | ! parameter som visar
| |
− | ! parameter som döljer
| |
− | ! Visas som standard
| |
− | ! Introducerad i API-version
| |
− | |-
| |
− | | <title>
| |
− | | Mätpunktens namn på temperatur.nu
| |
− | |
| |
− | |
| |
− | | X
| |
− | | 1.0
| |
− | |-
| |
− | | <id>
| |
− | | Mätpunktens id på temperatur.nu. Kan användas med parametern "p" för att hämta endast denna mätpunkts information
| |
− | |
| |
− | | simple
| |
− | | X
| |
− | | 1.0
| |
− | |-
| |
− | | <temp>
| |
− | | Mätpunktens senaste temperatur. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.
| |
− | |
| |
− | |
| |
− | | X
| |
− | | 1.0
| |
− | |-
| |
− | | <lat>
| |
− | | Mätpunktens latitud i decimalt format. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.
| |
− | | coordinates, verbose
| |
− | |
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <lon>
| |
− | | Mätpunktens longitud i decimalt format. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.
| |
− | | coordinates, verbose
| |
− | |
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <lastUpdate>
| |
− | | Tidpunkt då informationen senast uppdaterades på temperatur.nu
| |
− | | verbose
| |
− | |
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <kommun>
| |
− | | Den kommun som mätpunkten ligger i.
| |
− | | verbose
| |
− | |
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <lan>
| |
− | | Det län som mätpunkten ligger i.
| |
− | | verbose
| |
− | |
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <sourceInfo>
| |
− | | En kort textsträng med information om vem som loggar temperaturen för mätpunkten
| |
− | | verbose
| |
− | |
| |
− | |
| |
− | | 1.8
| |
− | |-
| |
− | | <url>
| |
− | | Url till mätpunktens temperatur och grafer på www.temperatur.nu
| |
− | | verbose
| |
− | |
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <dist>
| |
− | | Hur långt från de givna koordinaterna mätpunkten ligger. Enheten är kilometer. Om decimalkomma eller decimalpunkt skall användas styrs med parametern dc.
| |
− | | lat & lon
| |
− | | simple
| |
− | |
| |
− | | 1.0
| |
− | |-
| |
− | | <graph>
| |
− | | Visar url till graph för orten. Observera att ny graf endast genereras när parametern graph används. Det går därför inte att lokalt cacha urlen i klienten.
| |
− | | graph (x, y, span, verbose_g, shift_g)
| |
− | |
| |
− | |
| |
− | | 1.2
| |
− | |}
| |
− | | |
− | ==Exempel==
| |
− | | |
− | Så här kan resultatet från en förfrågan på http://www.temperatur.nu/api/tnu_1.5.php?p=linkoping&verbose&cli=test_app se ut:
| |
− | <?xml version='1.0' encoding='iso-8859-1'?>
| |
− | <rss version="2.0">
| |
− | <channel>
| |
− | <title>Temperatur.nu API 1.5</title>
| |
− | <link>http://wiki.temperatur.nu/index.php/Api</link>
| |
− | <item>
| |
− | <title>Linköping/Centrum</title>
| |
− | <id>linkoping</id>
| |
− | <temp>20.2</temp>
| |
− | <lat>58.414297</lat>
| |
− | <lon>15.628788</lon>
| |
− | <lastUpdate>2010-05-19 14:22:02</lastUpdate>
| |
− | <kommun>Linköping</kommun>
| |
− | <lan>Östergötlands län</lan>
| |
− | <url>http://www.temperatur.nu/linkoping.html</url>
| |
− | </item>
| |
− | </channel>
| |
− | </rss>
| |
− | | |
− | | |
− | Så här kan resultatet från en förfrågan på http://www.temperatur.nu/api/tnu_1.5.php?lat=58.376761&lon=15.562916&num=3&graph&cli=test_app se ut:
| |
− | <?xml version='1.0' encoding='iso-8859-1'?>
| |
− | <rss version="2.0">
| |
− | <channel>
| |
− | <title>Temperatur.nu API 1.5</title>
| |
− | <link>http://wiki.temperatur.nu/index.php/Api</link>
| |
− | <item>
| |
− | <title>Linköping/Jägarvallen</title>
| |
− | <id>jagarvallen</id>
| |
− | <temp>18.2</temp>
| |
− | <dist>2.5</dist>
| |
− | <graph>http://www.temperatur.nu/cg/jagarvallen-1day-300-200-0-0.png</graph>
| |
− | </item>
| |
− | <item>
| |
− | <title>Linköping/Ryd</title>
| |
− | <id>ryd</id>
| |
− | <temp>19.2</temp>
| |
− | <dist>3.8</dist>
| |
− | <graph>http://www.temperatur.nu/cg/ryd-1day-300-200-0-0.png</graph>
| |
− | </item>
| |
− | <item>
| |
− | <title>Linköping/Skäggetorp</title>
| |
− | <id>skaggetorp</id>
| |
− | <temp>20.7</temp>
| |
− | <dist>5.2</dist>
| |
− | <graph>http://www.temperatur.nu/cg/skaggetorp-1day-300-200-0-0.png</graph>
| |
− | </item>
| |
− | </channel>
| |
− | </rss>
| |
− | | |
− | ==Signering av URLer==
| |
− | Förfrågningar till APIet kan signeras. Osignerade förfrågningar kommer från mitten av 2011 att begränsas till ca 12/timma för varje clientid. Skriver du en privat tillämpning kan du därmed använda APIet utan att signera URLerna, men om din tillämpning sprids till flera användare måste du signera URLerna.
| |
− | | |
− | Observera att denna signeringsfunktion kommer att finnas tillgänglig för alla versioner av APIet.
| |
− | | |
− | Signeringen går till så här:
| |
− | 1. Skapa din url som vanligt.
| |
− | 2. Beräkna md5summan av urlen med "+clientnyckel" tillagd på slutet. (klientnyckel erhålls efter att ha mailat [mailto:[email protected] info @temperatur.nu] | |
− | 3. I slutet av urlen lägger du sedan till &sign=md5summa
| |
− | | |
− | I php kan det tex se ut så här:
| |
− | $cli_key="XXXXXXXXXXXXXXXXXXXXXXXXX";
| |
− | $url="www.temperatur.nu/api/tnu_1.9.php?p=linkoping&cli=testapp"
| |
− | $sign=md5($url."+".$cli_key);
| |
− | $signed_url=$url."&sign=".$sign;
| |
− | | |
− | I den returnerade xml-filen kan du i det första title-fältet se om förfrågan är korrekt signerad.
| |
− | | |
− | ==Historik/ändringslogg==
| |
− | 2010-05-04 - Version 1.0
| |
− | Första releasen.
| |
− | | |
− | 2010-05-13 - Version 1.1
| |
− | Variabeln cli tillagd.
| |
− | | |
− | 2010-05-19 - Version 1.2
| |
− | Stöd för att hämta grafer
| |
− | | |
− | 2010-06-09 - Version 1.3
| |
− | Bugfix som fixar en bugg introducerad i 1.2 (det gick inte att hämta alla orter genom att skippa variabeln p).
| |
− | | |
− | 2010-08-04 - Version 1.4
| |
− | Värden för x och y justerade. Parametern cli krävs för att apiet skall returnera data.
| |
− | | |
− | 2010-09-01 - Version 1.5
| |
− | Parametrar för att via mer info i grafen. Parametrar för att visa grafer för i går, förra veckan, 2 år sedan etc.
| |
− | | |
− | 2010-09-01 - Version 1.6
| |
− | Parameter för att ange om 1 eller 2 y-axlar skall visas.
| |
− | | |
− | 2010-11-22 - Version 1.7
| |
− | Möjlighet att välja hur tjock graflinjen skall vara.
| |
− | | |
− | 2010-12-19 - Version 1.8
| |
− | CacheBust-funktion, möjlighet att ändra textstorlek samt information om vem som loggar temperaturen när verbose är specat.
| |
− | | |
− | [[Kategori:www.temperatur.nu]]
| |
− | [[Kategori:Mjukvara]]
| |