Yahoo Weather API WOEID retrieval
je crée une application (PHP) qui prend des données météorologiques yahoo du flux RSS gratuit et les corréle avec un hexadécimal couleur basé sur des données extraites du flux RSS. Le problème, c'est de trouver un moyen de récupérer le code de localisation ou WOEID sans le faire manuellement.
Yahoos API renvoie un flux RSS aussi longtemps que vous fournissez un WOEID ->http://weather.yahooapis.com/forecastrss?w=4097
y a-t-il une façon éthique de faire cela? Mes connaissances de débutant il me dit que je dois écrire un script qui chercherait yahoo en utilisant le terme et attraperait le premier WOEID, mais je suppose que yahoo ne veut pas de scripts faisant cela et cela semble trop compliqué... Si ce n'est pas le cas, y a-t-il d'autres IPA qui me faciliteraient la tâche?
Merci!
3 réponses
Pourquoi ne pas simplement utiliser le Yahoo! Service de géoplanette pour résoudre une place à un WOEID? Ou utiliser le service YQL pour accéder à Géoplanet via sa table?
http://where.yahooapis.com/v1/places.q('Barrie CA')?appid=[yourappidhere]
ou
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Barrie%20CA%22&format=xml
Pas besoin de racler.
Cheers
G
j'ai reçu des informations utiles de: http://developer.yahoo.com/geo/geoplanet/
Et
http://developer.yahoo.com/geo/geoplanet/guide/api-reference.html#api-countries
trouver le WEEID d'un point de repère important: http://where.yahooapis.com/v1/places.q('sydney%20opera%20house')?appid=[yourappidhere]
Résoudre un WOEID à un lieu: http://where.yahooapis.com/v1/place/2507854?appid = [yourappidhere]
trouver la WOEID d'un endroit spécifique: http://where.yahooapis.com/v1/places.q('northfield%20mn%20usa')?appid=[yourappidhere]
obtenir une gamme de poids de laine qui correspondent à un endroit donné, commandé par le plus probablement: http://where.yahooapis.com/v1/places.q('springfield');start=0;count=5?appid=[yourappidhere]
trouver le parent D'un enfant donné (et retourner un dossier détaillé): http://where.yahooapis.com/v1/place/638242/parent?select=long&appid = [yourappidhere]
retourner le nom de la place pour un WOEID donné dans une langue spécifique (où il exister): http://where.yahooapis.com/v1/places.q('usa')?lang=fr&appid=[yourappidhere]
pour obtenir la représentation D'un lieu dans le format JSON: http://where.yahooapis.com/v1/place/2487956?format=json&appid = [yourappidhere]
pour obtenir une liste des géographies que le voisin un WOEID spécifique: http://where.yahooapis.com/v1/place/12795711/neighbors?appid = [yourappidhere]
Yahoo! Geo Technologies est heureux d'annoncer la disponibilité de L'aide PlaceFinder dans YQL. Le geo.la table placefinder permet aux utilisateurs de faire des requêtes PlaceFinder via des requêtes YQL. Le nouveau tableau offre plusieurs façons différentes d'accéder à PlaceFinder. Une description des requêtes et des paramètres pris en charge peut être récupérée en utilisant http://query.yahooapis.com/v1/public/yql?q...&appid=test. Voici quelques exemples:
Géocodage d'une adresse de rue (1600 Pennsylvania Avenue à Washington, DC) à l'aide de la forme libre de format d'entrée:
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
géocodage d'une adresse municipale (701 First Ave, Sunnyvale, CA 94089) en utilisant un format d'entrée multiligne:
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
Géocodage un code d'aéroport (OFS):
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22sfo%22&appid=test
géocodage d'un point d'intérêt (POI) en français:
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
géocodage inversé utilisant les coordonnées géographiques:
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
géocoder une adresse municipale (701 First Ave, Sunnyvale, CA 94089) en utilisant format d'entrée parsé:
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
détermination des rues transversales et du fuseau horaire les plus proches pour une adresse:
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
cet exemple illustre la capacité de YQL à sélectionner seulement les champs spécifiés dans la réponse