• Welcome to Diskuse2 Elektrika.cz. Please login or sign up.
 

Prečo od 24.3.2016 nefunguje komunikácia so serverom YahooWeather?

Started by Michal Koža, 10.04.2016, 19:04

previous topic - next topic

Michal Koža

V mojej aplikácii sa prestali aktualizovať dáta zo serveru Yahoo Weather. Posledná aktualizácia bola 24.3.2016. Mosaic ohlásil chybu errID2 = 253 (server vrací jinou hodnotu než 200 OK).
Keďže v demo aplikácii http://demo.ovladejsvujdum.cz/ je ten istý problém, pravdepodobne Yahoo urobil v tomto čase na svojich serveroch nejakú zmenu,

Máte niekto funkčné riešenie?

Jiri Dvorak

K dotazu se připojuji, a mimo to se zdá že druhá možnost: "openweathermap.org", také nefunguje,
vrací : HTTP server error: 401....

Martin Kurka

Jestli to nebude tím, že Yahoo je na prodej. V podstatě zkrachovali a manžerka z Googlu je nezachráníla, jen je potopila hlouběji.
No, nekupte to za nabízenou cenu.
Nikdy není dost času,aby se to udělalo dobře. Ale pak je dost času, aby se to udělalo znovu

Teorie=vše víme ale nic nefunguje
Praxe=vše funguje a nevíme proč
Teorie spojena s praxí=nic nefunguje a nikdo neví proč

Vysoce odborných omylů se dopouští jen specialisté

Ďábel je skryt v detailu

Michal Koža

Niečo sa mi podarilo zistiť tu: https://forum.rainmeter.net/viewtopic.php?f=13&t=23010
V skratke: Yahoo urobilo zmenu v prístupe k api. Hlavná a zásadná zmena je zmena v adrese, keď namiesto adresy:
http://weather.yahooapis.com (túto adresu používa aj knižnica WeatherLib v Mosaicu)
sa používa nová adresa:

http://xml.weather.yahoo.com/

Má niekto typ, ako to vyskúšať, kým nebude upravená knižnica WeatherLib? Zatiaľ som sa iba narýchlo pokúsil "hacknúť " knižnicu, ale po zmene adresy nefungovala.

Vladimír Nemeškal

Knihovna pro Yahoo nefunguje, protože Yahoo podmínilo přístup k API autorizací, což by pro Foxtrot znamenalo změnu firmware (bylo by nutné implementovat algoritmus pro HMAC-SHA1). Takže pokud se použije původní adresa pro přístup k API, tak server hlásí chybu autorizace. Zkusili jsme to obejít přes zmíněnou adresu http://xml.weather.yahoo.com (v knihovně WeatherLib_v15), ale tento server přestal fungovat 11.4.2016 v 19:00. Takže jsme naprogramovali další blok do knihovny, který čte počasí z yr.no (norský server počasí). Poté se ještě objevila další možnost, jak načíst data z rss kanálu Yahoo bez autorizace (za předpokladu, že se využije YQL dotaz na http://query.yahooapis.com/). To jsme naprogramovali do knihovny WeatherLib_v16, která bude na www.tecomat.cz dostupná do konce tohoto týdne. Jak dlouho bude tato cesta funkční se ale špatně odhaduje, Yahoo v tomto směru mlčí, stránky s vývojářskou dokumentací začaly jakž takž fungovat tohle pondělí, do té doby jakýkoliv dotaz skončil interní chybou serveru. Ale i teď tam chybí informace o tom, jak implementovat nový přístup k API. Poslední věcí, kterou jsme do nové knihovny přidali, je možnost číst počasí z norského serveru yr.no a získaná data ukládat do struktury pro počasí Yahoo - to pro případ, kdyby Yahoo sestřelilo další server. Nedá se totiž vyloučit, že se Yahoo snaží omezit volně poskytované informace - požadovaná autorizace OAuth1 je v případě rss kanálu pro počasí silně diskutabilní.

Vladimír Nemeškal

Ještě k OpenWeatherMap - tento server požaduje také autorizaci (přibližně od října loňského roku). Tady se stačí zaregistrovat na OpenWeatherMap, získat přístupový kód a ten zadat jako parametr při volání bloku fbOpenWeatherMap(). Je třeba použít knihovnu WeatherLib_v1.4 nebo vyšší, ve starších verzí je blok bez autorizace (protože původně nebyla potřeba).

Jaromír Klaban

Od pátku 22.4. 2016 je na www.tecomat.cz zveřejněn balíček aktualizovaných knihoven pro čtení počasí.
Sledujte Foxtrot také na www.tecomat.cz

Michal Koža

... a funguje dobre.
Stačilo stiahnuť a aktualizovať knihovne. Po kompilácii funguje ajs pôvodným kódom pre Yahoo Weather, bez potreby zmeny.

Vyriešili ste to dobre, YR.NO je známy dobrými forecastami vďaka výkonným počítačom. Dúfajme, že to vydrží takto fungovať čo najdlhšie.