分類
懶得分類

Google天氣API失效?!

之前一直用的好好的 Google 天氣 API, 今天同事回報異常, 經檢查後, 發現看起來是 Google 的問題, 不過回覆的訊息讓人摸不著頭緒, 如下:

(訪問 http://www.google.com/ig/api?hl=zh-tw&weather=taipei 的結果)

起先以為是用量過多爆了, 不過查了一下, 發現應該不是, 而且也找到相關的新聞訊息: http://thenextweb.com/google/2012/08/28/did-google-just-quietly-kill-private-weather-api/ 看起來應該是 Google 打算關掉的服務引起的, 而且上面的 copyright 還是 2009, 真是怪怪的.

接下來只好轉換用其他家的 weather api, 原本要用 http://www.wunderground.com/ 這家的, 但是是要收費的, 只好再找, 改用 yahoo 的, 參考 API 介紹: http://developer.yahoo.com/weather/ , 應用起來, 原本 Google Weather API 有的資訊他也都有, 只是都是英文的, 不過倒也不影響使用.

不過若是不知道地點的 w 代碼(WOEID), 可以先到 yahoo weather 上查: http://weather.yahoo.com/ 輸入 taipei, 將會重導到網址: http://weather.yahoo.com/taiwan/null/taipei-2306179/ 就知道 w 代碼是 2306179, 而 API URL 就會是: http://weather.yahooapis.com/forecastrss?w=2306179 預設氣溫單位是華氏, 若是要氣溫單位, 再多加參數 u=c 如: http://weather.yahooapis.com/forecastrss?w=2306179&u=c

回應的內容也都是 xml 格式, 可以容易利用程式實作取出, 花了幾十分鐘的時間, 把原來的 api 由 Google 改到 Yahoo 完成.

附上部分台灣的 WOEID:

2306155 Yungkang City, TW (永康市)
2306179 Taipei City, TW (台北市)
2306180 Kaohsiung City, TW (高雄市)
2306181 Taichung City, TW (台中市)


2306182 Tainan City, TW (台南市)
2306183 Changhwa City, TW (彰化市)
2306184 Chungli City, TW (中壢市)
2306185 Hsinchu City, TW (新竹市)
2306186 Hsintien City, TW (新店市)
2306187 Hualien City, TW (花蓮市)
2306188 Keelung City, TW (基隆市)
2306189 Pingtung City, TW (屏東市)
2306190 Taitung City, TW (台東市)
2306193 Chiali Town, TW (嘉義市)
2306194 Chingshui Town, TW (清水鎮, 現為清水區)
2306195 Erhlin Town, TW (二林鎮)
2306198 Ilan City, TW (宜蘭市)
2306199 Kangshan Town, TW (岡山鎮, 現為岡山區)
2306200 Guanyin Township, TW (觀音鄉)
2306201 Lukang Town, TW (鹿港鎮)
2306202 Longtan Township, TW (龍潭鄉)
2306203 Matou Town, TW (麻豆鎮, 現為麻豆區)
2306204 Nantou City, TW (南投市)
2306206 Putai Town, TW (布袋鎮)
2306207 Shihgang Township, TW (新港鄉)
2306208 Suao Town, TW (蘇澳鎮)
2306209 Dayuan Township, TW (大園鄉)
2306210 Tachia Town, TW (大甲鎮, 現為大甲區)
2306211 Tanshui Town, TW (淡水鎮, 現為淡水區)
2306212 Tounan Town, TW (斗南鎮)
2306213 Tungkang Town, TW (東港鎮)
2306214 Yingko Town, TW (鶯歌鎮, 現為鶯歌區)
2306217 Hsinhwa Town, TW (新化鎮, 現為新化區)
2306218 Sinshe Township, TW (新社鄉, 現為新社區)
2306223 Jinshan Township, TW (金山鄉, 現為金山區)
2306224 Fangshan Township, TW (枋山鄉)
2306227 Kuanshan Town, TW (關山鎮)
2306228 Sanjhih Township, TW (三芝鄉, 現為三芝區)
2306229 Sanwan Township, TW (三灣鄉)
2306231 Wanli Township, TW (萬里鄉, 現為萬里區)
2306232 Yujing Township, TW (玉井鄉, 現為玉井區)
2306243 Nan-ao Township, TW (南澳鄉)
2306250 Huwei Town, TW (虎尾鎮)
2306251 Shuangsi Township, TW (雙溪鄉, 現為雙溪區)
2306254 Taiwan Taoyuan International Airport, TW (桃園國際機場)
2306255 Kaohsiung International Airport, TW (高雄國際機場)

除了在 yahoo weather 頁面上找地點外, 也可以在這裡查找: http://woeid.rosselliot.co.nz/

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *