上一篇文章大致說明我想寫的APP的概念及所需要的技術,
這一篇就針對Yahoo Weather API的部分做一個細部研究,
首先根據上面所附的連結打開頁面後,
會出現Yahoo Weather RSS發送的說明頁,
其中最重要的有幾個地方:
1.如何透過http request取得RSS資料?
2.RSS資料包含哪些東西?

Yahoo weather http API只提供了一個URL來取得RSS資料,
http://weather.yahooapis.com/forecastrss
但是這還不是問題,
問題是他所支援帶入的參數只有兩個,

w
for WOEID
u
for degrees units (Fahrenheit or Celsius)

大家對於u應該沒什麼問題,
他就是用來定義溫度顯示華氏或攝氏,
但是WOEID就有點麻煩了,
我上網查了一下,
WOEID似乎是Yahoo專門用來地易地區的一個編號,
例如:
台北內湖的WOEID=2306179
台北新店的WOEID=2306186
有網友很熱心的整理出一些台灣地區的WOEID,
但是我們要支援的地區並不只限於台灣,
而且要整理出所有的WOEID也太困難了,
所以這裡需要利用到Yahoo另一項服務Yahoo APIS query,
上面的那個網址可以Query到很多Yahoo開放的資料,
由於我們只要WOEID,
所以開發人員可以根據Lat/Lon取得WOEID,
範例如下:
http://query.yahooapis.com/v1/public/yql?q=select woeid from geo.placefinder where text="37.416275,-122.025092" and gflags="R"
而Lat/Lon可以藉由LBS取得,
所以整個就很清楚簡單了,
1.透過LBS取得所在位子的Lat/Lon
2.透過Yahoo AP query並根據1的結果取得WOEID
3.透過Yahoo weather API及根據2的WOEID取得天氣資訊

最後RSS包含哪些資料呢?
有興趣的人可以看一下介紹Yahoo Weather API,
基本上該有的都有了,
另外Yahoo的天氣資料是15分鐘更新一次的,
所以對於需要及時天氣資訊的人來說應該是足夠的

arrow
arrow
    文章標籤
    weather rss yahoo
    全站熱搜

    鴨蛋王 發表在 痞客邦 留言(0) 人氣()