2012-08-27 13 views
11

Microsoft ha un'API meteo molto simile a quella di Google (che ora sembra essere completamente morta). Ho convertito una delle mie applicazioni nel loro feed, ma non sono riuscito a trovare un elenco di tutte le possibili condizioni meteorologiche.Elenco delle condizioni meteo MSN API?

Questo è documentato abbastanza bene per l'API meteo di Google, ma non riesco a trovare un elenco di condizioni per l'API meteo di MSN.

FWIW, un esempio URL per ottenere i dati utilizzando MSN è:

http://weather.service.msn.com/data.aspx?weadegreetype=F&culture=en-US&weasearchstr=Chicago,IL (il servizio non più disponibile (Jan 2016))

Qualcuno può fare luce sulle possibili condizioni? Ho bisogno di loro in modo che io possa convertire il testo della condizione in un'icona.

+0

È tempo morto api di Google o è temporaneamente inattivo? Ho circa 15 app per iphone che la usano e ora sono bombardata da frustrazione dell'utente e recensioni negative –

+0

Finora ciò che ho letto google weather api è utilizzato da igoogle che non è programmato per la morte fino a novembre 2013. –

+0

@SamBudda Sfortunatamente sembra che l'API meteo di Google sia morta definitivamente. È senza dubbio parte della transizione da iGoogle (che ho usato anche personalmente). Ho un widget di Google Sites che non funziona più in quanto si basava sull'API meteo di Google. Poiché l'API non è documentata dubito che sentiremo una risposta ufficiale da parte di Google. Da quello che posso dire, l'API di Microsoft non è documentata quindi suppongo che potrebbe anche andare via o cambiare senza preavviso. –

risposta

16

ho deciso di andare un percorso leggermente diverso e capire le condizioni in base all'icona fornito (SkyCode e skycodeday) dal XML.

Ecco un elenco di ciò che mi è venuto in mente.Speriamo che sia utile per gli altri in migrazione da tempo di Google API:

  • 0, 1, 2, 3, 4, 17, 35 - Temporale
  • 5 - Pioggia/Neve mix
  • 6 - Nevischio/neve mix
  • 7 - pioggia/neve/nevischio mix
  • 8,9 - Icy
  • 10 - pioggia/Nevischio mix
  • 11 - pioggia leggera
  • 1 2 - La pioggia
  • 13 - Luce Neve
  • 14,16,42,43 - Neve
  • 15 - Blizzard
  • 18,40 - Docce
  • 19 - Polvere
  • 20 - Nebbia
  • 21 - Haze
  • 22 - Smoke
  • 23,24 - Windy
  • 25 - Frigid
  • 26 - Nuvoloso
  • 27,29,33 - Parzialmente nuvoloso (notte)
  • 28,30,34 - Parzialmente nuvoloso
  • 31 - Clear (notte)
  • 32 - Clear
  • 36 - Hot
  • 37,38 - Temporali sparsi
  • 39 - Parzialmente nuvoloso
  • 41 - Parzialmente nuvoloso
  • 44 - N/A
  • 45 - singoli rovesci (notte)
  • 46 - Parzialmente nuvoloso (notte)
  • 47 - Temporali sparsi (notte)
+0

l'ho visto anche in msn weather api "Showers/Clear" –

+0

@SamBudda per i miei scopi ho fatto questo Showers sparsi. La chiami una matita, io la chiamo una scrittura a matita. ;-) –

4

Ecco la mia funzione, in modo semplice convertire il codice API di Google per MSN API:

function skycode2image ($skycode) 
{  

$daynight = "na"; 

$skycodes = array ( 
0 => 'thunderstorm', 
1 => 'thunderstorm', 
2 => 'thunderstorm', 
3 => 'thunderstorm', 
4 => 'thunderstorm', 
5 => 'rain_snow', 
6 => 'sleet', 
7 => 'rain_snow', 
8 => 'icy', 
9 => 'icy', 
10 => 'rain_snow', 
11 => 'showers', 
12 => 'rain', 
13 => 'flurries', 
14 => 'snow', 
15 => 'snow', 
16 => 'snow', 
17 => 'thunderstorm', 
18 => 'showers', 
19 => 'dust', 
20 => 'fog', 
21 => 'haze', 
22 => 'haze', 
23 => 'windy', 
24 => 'windy', 
25 => 'icy', 
26 => 'cloudy', 
27 => 'mostly_cloudy', 
28 => 'mostly_cloudy', 
29 => 'partly_cloudy', 
30 => 'partly_cloudy', 
31 => 'sunny', 
32 => 'sunny', 
33 => 'mostly_sunny', 
34 => 'mostly_sunny', 
35 => 'thunderstorm', 
36 => 'hot', 
37 => 'chance_of_tstorm', 
38 => 'chance_of_tstorm', 
39 => 'chance_of_rain', 
40 => 'showers', 
41 - 'chance_of_snow', 
42 => 'snow', 
43 => 'snow', 
44 => 'na', 
45 => 'chance_of_rain', 
46 => 'chance_of_snow', 
47 => 'chance_of_tstorm'); 

$condition = $skycodes[$skycode]; 

if (in_array($skycode,array(27,29,31,33,31,45,46,47))) $daynight = 'night'; 
if (in_array($skycode,array(28,30,32,34,36,37,38,39,41))) $daynight = 'day'; 

return array($condition,$daynight); 

} 
0

vi scriviamo per informarvi che l'API Microsoft Meteo non sarà più disponibile per il download e sarà interrotto a partire dal 15 aprile 2015, il che significa che wil Non fornisco più dati meteo. Di conseguenza, rimuovi Microsoft Weather API da qualsiasi tuo prodotto o app che attualmente lo utilizza.

Ecco un elenco di fornitori esterni che potrebbe essere in grado di sostenere i vostri bisogni, se siete interessati ad ottenere un tempo API alternativo:

http://api.accuweather.com/ 
http://www.wunderground.com/weather/api/d/pricing.html 
https://developer.forecast.io/ 

responsabilità: Microsoft e Microsoft Meteo non sono affiliati o associati con qualsiasi delle società sopra elencate in alcun modo.

Thank You Microsoft Weather Team

+0

Il servizio è continuato? Posso ancora chiamare l'API – thatsIch

1

Sembra che ci sia un sacco di disinformazione in corso ogni volta che Microsoft è in questione. Oggi stavo testando l'API di MSN Weather; e ritornò; e sta restituendo i dati meteorologici, ogni ora.

ho fatto la seguente domanda [probabilmente non standard] solo ora: "http://weather.service.msn.com/data.aspx?weasearchstr=ny,NY&culture=en-US&weadegreetype=C&src=msn"

e lo ha fatto tornare esattamente ciò che è stato richiesto:

<weatherdata xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><weather weatherlocationcode="wc:USNY0309" weatherlocationname="New York, NY" url="http://a.msn.com/54/en-US/ct40.782,-73.832?ctsrc=msn" imagerelativeurl="http://blob.weather.microsoft.com/static/weather4/en-us/" degreetype="C" provider="Foreca" attribution="http://www.foreca.com/" attribution2="Foreca" lat="40.782" long="-73.832" timezone="-5" alert="" entityid="10109777" encodedlocationname="New+York%2C+NY"><current temperature="4" skycode="29" skytext="Partly Cloudy" date="2016-02-07" observationtime="18:00:00" observationpoint="New York, NY" feelslike="2" humidity="62" winddisplay="9 km/h East" day="Sunday" shortday="Sun" windspeed="9 km/h" /><forecast low="-3" high="5" skycodeday="31" skytextday="Clear" date="2016-02-06" day="Saturday" shortday="Sat" precip="" /><forecast low="1" high="7" skycodeday="28" skytextday="Mostly Cloudy" date="2016-02-07" day="Sunday" shortday="Sun" precip="10" /><forecast low="-3" high="3" skycodeday="16" skytextday="Snow" date="2016-02-08" day="Monday" shortday="Mon" precip="90" /><forecast low="0" high="1" skycodeday="30" skytextday="Partly Sunny" date="2016-02-09" day="Tuesday" shortday="Tue" precip="90" /><forecast low="-2" high="5" skycodeday="28" skytextday="Mostly Cloudy" date="2016-02-10" day="Wednesday" shortday="Wed" precip="50" /><toolbar timewindow="60" minversion="1.0.1965.0" /></weather><weather weatherlocationcode="wc:USNY0996" weatherlocationname="New York, NY" url="http://a.msn.com/54/en-US/ct40.714,-74.006?ctsrc=msn" imagerelativeurl="http://blob.weather.microsoft.com/static/weather4/en-us/" degreetype="C" provider="Foreca" attribution="http://www.foreca.com/" attribution2="Foreca" lat="40.714" long="-74.006" timezone="-5" alert="" entityid="23164" encodedlocationname="New+York%2C+NY"><current temperature="5" skycode="29" skytext="Partly Cloudy" date="2016-02-07" observationtime="18:00:00" observationpoint="New York, NY" feelslike="4" humidity="58" winddisplay="7 km/h East" day="Sunday" shortday="Sun" windspeed="7 km/h" /><forecast low="-7" high="4" skycodeday="31" skytextday="Clear" date="2016-02-06" day="Saturday" shortday="Sat" precip="" /><forecast low="1" high="7" skycodeday="28" skytextday="Mostly Cloudy" date="2016-02-07" day="Sunday" shortday="Sun" precip="10" /><forecast low="-2" high="3" skycodeday="16" skytextday="Snow" date="2016-02-08" day="Monday" shortday="Mon" precip="80" /><forecast low="-1" high="1" skycodeday="30" skytextday="Partly Sunny" date="2016-02-09" day="Tuesday" shortday="Tue" precip="80" /><forecast low="-3" high="5" skycodeday="30" skytextday="Partly Sunny" date="2016-02-10" day="Wednesday" shortday="Wed" precip="50" /><toolbar timewindow="60" minversion="1.0.1965.0" /></weather></weatherdata> 
1

E 'aprile 2016, e sembra che I dati meteo di Microsoft sono ancora in arrivo: Washington state weather data (il collegamento è diverso da quello mostrato nel post dell'OP, che ora è fuori produzione).

Il parametro "Wealocations" nel collegamento è diverso per ogni punto di raccolta meteo; ad esempio, "USWA0367" è per Redmond, Washington. È possibile ottenere il codice della posizione meteo da here.