Yahoo Hava API WOEID alma

3 Cevap php

Ben ücretsiz RSS beslemesi yahoo hava durumu verileri alır ve RSS beslemesi alınan verilere dayalı bir renk hex ile ilişkilendiren bir uygulama (PHP) oluşturma. Ben yaşıyorum sorun elle yapmadan konumu kodu veya WOEID kapmak için bir yol bulmaktır.

Yahoos API sürece bir WOEID sağlamak gibi bir RSS beslemesi geri gönderir -> http://weather.yahooapis.com/forecastrss?w=4097

Bunu yapmanın etik bir yolu var mı? Benim acemi bilgi ben terimini kullanarak yahoo arama ve ilk WOEID kapmak olacak bir komut dosyası yazmak zorunda, ama ben yahoo bunu yaparken komut istemiyor zannedebilir ve overcomplicated görünüyor bana söyler ... Eğer değilse, herhangi bir alternatif var bana bu daha kolay olurdu API'ler?

Teşekkürler!

3 Cevap

Neden sadece bir WOEID bir yer gidermek için Yahoo! GeoPlanet servisini kullanmak değil mi? Ya da en tablosu aracılığıyla GeoPlanet erişmek için YQL servisini kullanmak?

http://where.yahooapis.com/v1/places.q('Barrie CA')?appid=[yourappidhere]

veya

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Barrie%20CA%22&fveyamat=xml

No need fveya scraping.

Şerefe

G

(Disclosure; I wveyak fveya Yahoo! and am part of the group behind WOEIDs and GeoPlanet)

I got some useful information from: http://developer.yahoo.com/geo/geoplanet/

Ve

http://developer.yahoo.com/geo/geoplanet/guide/api-reference.html#api-countries

  1. Find the WOEID of a significant landmark: http://where.yahooapis.com/v1/places.q('sydney%20opera%20house')?appid=[yourappidhere]

  2. Resolve a WOEID to a place: http://where.yahooapis.com/v1/place/2507854?appid=[yourappidhere]

  3. Find the WOEID of a specific place: http://where.yahooapis.com/v1/places.q('northfield%20mn%20usa')?appid=[yourappidhere]

  4. Obtain a range of WOEIDs that match a given place, ordered by the most likely: http://where.yahooapis.com/v1/places.q('springfield');start=0;count=5?appid=[yourappidhere]

  5. Find the parent of a given WOEID (and return a detailed record): http://where.yahooapis.com/v1/place/638242/parent?select=long&appid=[yourappidhere]

  6. Return the Placename for a given WOEID in a specific language (where it exists): http://where.yahooapis.com/v1/places.q('usa')?lang=fr&appid=[yourappidhere]

  7. To obtain the representation of a place in JSON format: http://where.yahooapis.com/v1/place/2487956?format=json&appid=[yourappidhere]

  8. To obtain a list of geographies that neighbor a specific WOEID: http://where.yahooapis.com/v1/place/12795711/neighbors?appid=[yourappidhere]

Yahoo! Geo Teknolojileri YQL içinde PlaceFinder destek kullanılabilirliğini duyurmaktan mutluluk duyar. Geo.placefinder tablo kullanıcıları YQL sorguları yoluyla PlaceFinder isteklerini yapmak için izin verir. Yeni tablo PlaceFinder ulaşmak için birkaç farklı yollar sağlar. Desteklenen istekleri ve parametrelerin açıklaması kullanılarak alınabilir http://query.yahooapis.com/v1/public/yql?q...&appid=test. İşte birkaç örnek:

Serbest form giriş biçimini kullanarak bir sokak adresi (1600 Pennsylvania Ave, Washington, DC) geocoding:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%221600%20Pennsylvania%20Ave%2C%20Washington%2C%20DC%22&appid=test

Multi-line giriş biçimini kullanarak bir sokak adresi (701 First Ave, Sunnyvale, CA 94089) geocoding:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20line1%3D%22701%20First%20Ave%22%20and%20line2%3D%22Sunnyvale%2C%20CA%2094089%22&appid=test

Havaalanı kodu (SFO) geocoding:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22sfo%22&appid=test

Fransızca ilgi (POI) noktası geocoding:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22Eiffel%20Tower%22%20and%20lang%3D%22fr%22&appid=test

Coğrafi koordinatları kullanarak geocoding Ters:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%2237.416275%2C%20-122.025092%22%20and%20gflags%3D%22R%22&appid=test

Çözümlü giriş biçimini kullanarak bir sokak adresi (701 First Ave, Sunnyvale, CA 94089) geocoding:

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20house%3D%22701%22%20and%20street%3D%22First%20Ave%22%20and%20city%3D%22Sunnyvale%22%20and%20state%3D%22CA%22%20and%20postal%3D%2294089%22&appid=test

Yakın çapraz sokakları ve bir adres için zaman dilimini Belirlenmesi:

http://query.yahooapis.com/v1/public/yql?q=select%20line1%2C%20line2%2C%20line3%2C%20line4%2C%20cross%2C%20timezone%20from%20geo.placefinder%20where%20text%3D%22701%20First%20Ave%2C%20Sunnyvale%2C%20CA%22%20and%20flags%3D%22T%22%20and%20gflags%3D%22C%22&appid=test

Bu örnek yanıtı sadece belirtilen alanları seçmek için YQL yeteneğini göstermektedir