上一篇文章大致說明我想寫的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) 人氣()