5

मैं मौसम की जानकारी लाने के लिए Google मौसम API का उपयोग कर रहा था, लेकिन स्पष्ट रूप से Google ने अपनी सेवा बंद कर दी थी। और मैं अब याहू मौसम एपीआई में स्विच करने की कोशिश कर रहा हूं।शहर के नाम से WOEID प्राप्त करें?

var WOEID = 2502265; //random WOEID 
$.ajax({ 
    url: "http://weather.yahooapis.com/forecastjson?w=" + WOEID + "&u=c", 
    dataType: 'json', 
    success: function(data) { 
     console.log(data); 
    } 
}); 

हालांकि, क्या कोई तरीका है कि मैं केवल जावास्क्रिप्ट द्वारा WOEID प्राप्त कर सकता हूं? क्योंकि वापस मैं

http://www.google.com/ig/api?hl=en&weather=NYC 

और ऐसा ही कर सकता है।

यह Yahoo weather API page पर कहते हैं,

अपने WOEID ढूंढने के लिए, ब्राउज़ करें या मौसम मुख पृष्ठ से अपने शहर के लिए खोज। WOEID उस शहर के पूर्वानुमान पृष्ठ के लिए यूआरएल में है। आप होम पेज पर अपना पिन कोड दर्ज करके WOEID भी प्राप्त कर सकते हैं।

लेकिन मैं जावास्क्रिप्ट द्वारा इसे प्राप्त करना चाहता हूं, मैन्युअल रूप से weather.yahoo.com पर नहीं जाता और WOEID को ढूंढता हूं।

क्रॉस-उत्पत्ति नीति की परवाह न करें क्योंकि मैं इसे क्रोम एक्सटेंशन में उपयोग कर रहा हूं और यह लागू नहीं होता है।

उत्तर

6

ठीक है, मैं अपनी टिप्पणी वास्तव में क्या आप चाहते हैं

आप एक जगह का नाम है से पता चल गया है और आप की WOEID प्राप्त करना चाहते हैं जावास्क्रिप्ट AJAX कॉल का उपयोग कर उस स्थान का नाम

यह प्राप्त करने के लिए यूआरएल को किसी भी जगह को परिभाषित नहीं किया गया है जहां आपको GeoPlanet सेवा का उपयोग WOEID

पर किसी स्थान को हल करने के लिए करना है
http://where.yahooapis.com/v1/places.q('Place name')?appid=[yourappidhere] 

या आप उचित रूप से कुछ क्या यह (अपने शहर का नाम के लिए यूआरएल में उपयोग के प्रतिशत एन्कोडिंग) की तरह प्रत्यक्ष YQL का उपयोग करें और इस

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Place%20name%22&format=xml 
+0

धन्यवाद, मैं इसे बाद में कोशिश करूंगा। –

+0

क्षमा करें मैंने गलत यूआरएल चिपकाया है, पहले सही यूआरएल उत्तर में है –

+0

डेटा को सीधे जेसन में प्राप्त करने का एक बेहतर तरीका है ताकि इसे प्रारूप = जेसन बनाकर आसानी से संभाला जा सके। जैसे- http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Place%20name%22&format=json – Anant

1

आप याहू से प्राप्त कर सकते हैं भी http://developer.yahoo.com/geo/geoplanet/guide/concepts.html

API Reference

+0

उम, आपको एक उदाहरण या कुछ कोड बना सकते हैं? क्योंकि मुझे वास्तव में पता नहीं है कि इसका एपीआई कैसे उपयोग करें ... –

+1

बस इस यूआरआई का उपयोग करें http://where.yahooapis.com/v1/place/2507854?appid=[yourappidhere] –

+0

यह पूर्वानुमान एपीआई जैसा ही है उपयोग कर रहे हैं ... – Rafay

-1

के लिए एक ajax कॉल करके Woeid प्राप्त करने के लिए प्रयास करने के लिए है शहर का नाम

using (WebClient wc = new WebClient()) 
{ 
string results = wc.DownloadString("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22" + CityName + "%22&format=xml"); 
} 

See this article for more details

संबंधित मुद्दे