2012-08-27 13 views
11

Microsoft ma API pogodowe bardzo podobne do Google'a (który teraz wydaje się być zupełnie martwy). Przekonwertowałem jedną z moich aplikacji do pliku danych, ale nie udało mi się znaleźć listy wszystkich możliwych warunków pogodowych.Warunki API warunków pogodowych MSN weather API?

Jest to dość dobrze udokumentowane dla Google Weather API, ale nie mogę znaleźć listy warunków dla API pogody MSN.

FWIW, przykładem URL, aby uzyskać dane z powrotem za pomocą MSN jest:

http://weather.service.msn.com/data.aspx?weadegreetype=F&culture=en-US&weasearchstr=Chicago,IL (usługa już niedostępny (styczeń 2016))

Czy ktoś może rzucić nieco światła na temat możliwych warunkach? Potrzebuję ich, aby zamiast tego przekonwertować tekst warunku na ikonę.

+0

Czy pogoda w Google Api nie działa na dobre czy jest chwilowo niedostępna? Mam około 15 aplikacji iPhone, które go używają i teraz jestem bombardowany przez frustrację i złe opinie użytkowników. –

+0

Do tej pory czytałem api o pogodzie w Google używane przez firmę igoogle, która nie jest przeznaczona na śmierć do listopada 2013. –

+0

@SamBudda Niestety wygląda na to, że Google Weather API nie żyje na dobre. Bez wątpienia jest to część przejścia z iGoogle (z którego również korzystałem osobiście). Mam widżet Witryn Google, który już nie działa, ponieważ opiera się na Google API pogody. Ponieważ interfejs API jest nieudokumentowany, wątpię, czy usłyszymy oficjalną odpowiedź od Google. Z tego co wiem, API Microsoftu jest również nieudokumentowane, więc przypuszczam, że może również zniknąć lub zmienić się bez ostrzeżenia. –

Odpowiedz

16

postanowiłem pójść nieco inną trasę i dowiedzieć się warunki na podstawie dostarczonych ikonę (SkyCode i skycodeday) z XML.

Oto lista tego, co wymyśliłem.Mam nadzieję, że będzie to pomocne dla innych w migracji z Google API Pogoda:

  • 0, 1, 2, 3, 4, 17, 35 - Burza
  • 5 - Deszcz/Śnieg mix
  • 6 - deszcz ze śniegiem/woda mieszają
  • 7 - deszczu/woda/mieszanka Deszcz
  • 8,9 - lodowaty
  • 10 - deszczu/Deszcz mieszanka
  • 11 - lekki deszcz
  • 1 2 - deszczu
  • 13 - lekki deszcz
  • 14,16,42,43 - Warunki
  • 15 - Blizzard
  • 18,40 - natryski
  • 19 - pył
  • 20 - mgła
  • 21 - Zamglenie
  • 22 - dym
  • 23,24 - Windy
  • 25 - Frigid
  • 26 - zachmurzenie
  • 27,29,33 - Deszcz (noc)
  • 28,30,34 - Deszcz
  • 31 - Clear (noc)
  • 32 - Clear
  • 36 - Hot
  • 37,38 - rozproszone burze
  • 39 - Przelotne opady
  • 41 - Częściowe zachmurzenie
  • 44 - N/A
  • 45 - Przelotne opady deszczu (noc)
  • 46 - Częściowe zachmurzenie (noc)
  • 47 - Częściowe zachmurzenie (noc)
+0

Widziałem to także w apn "pogoda pogodowa" msn "Prysznice/Wyczyść" –

+0

@SamBudda dla moich celów Zrobiłem to rozproszone prysznice. Nazywasz to ołówkiem, nazywam to pisaniem utencil. ;-) –

4

Oto moja funkcja, aby łatwo konwersji kodu Google API 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

Piszemy, aby powiadomić Cię, że API Microsoft Pogoda nie będzie już dostępny do pobrania i zostanie zakończona z dniem 15 kwietnia 2015 roku, co oznacza, że ​​wil Nie dostarczam już danych pogodowych. W związku z tym usuń interfejs API Microsoft Weather z dowolnego produktu lub aplikacji, który aktualnie go używa.

Oto lista dostawców zewnętrznych, którzy mogliby być w stanie obsługiwać swoich potrzeb, jeśli jesteś zainteresowany w uzyskaniu alternatywny pogody API:

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

Zastrzeżenie: Microsoft i Microsoft pogody nie są powiązane lub związana z jakimikolwiek powyższych spółek w jakikolwiek sposób.

Dziękuję Microsoft Pogoda Zespół

+0

Czy usługa była kontynuowana? Nadal mogę zadzwonić do API – thatsIch

1

Wydaje istnieje wiele dezinformacji dzieje gdy Microsoft jest w pytaniu. Testowałem dzisiaj MSN Weather API; i powrócił; i zwraca dane pogodowe, co godzinę.

zrobiłem następujący [prawdopodobnie nie standard] zapytanie właśnie teraz: "http://weather.service.msn.com/data.aspx?weasearchstr=ny,NY&culture=en-US&weadegreetype=C&src=msn"

I to miało powrócić dokładnie to, co było wymagane:

<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

To kwietnia 2016, i wygląda na to, Dane Microsoft Weather wciąż są dostępne: Washington state weather data (link różni się od tego pokazanego w poście PO), który jest teraz przerywany).

Parametr "wealocations" w łączu jest różny dla każdego punktu zbierania danych pogodowych; np. "USWA0367" dotyczy Redmond, Washington. Możesz uzyskać kod lokalizacji meteorologicznej od here.