2011年7月12日 星期二

轉錄:使用 JSON 來讀取你的 Google Data

轉錄 from     ericsk.NET

使用 JSON 來讀取你的 Google Data

所以說根本就可以把 Google 當床,然後我以四海為家。

剛才讀到這篇文章,現在你可以把 Google Base、Blogger 及 Google Calendar 的 feed 轉成 JSON 格式,然後在你的 page 上利用 JavaScript 來處理 data。
而使用方法也很簡單,我拿 Google Calendar 上的「台灣假日」(或 Taiwan Holidays)為例,這份日曆的 feed 是:


http://www.google.com/calendar/feeds/
taiwan__zh_tw%40holiday.calendar.google.com/
public/basic
當然這回傳的會是一份 XML 檔案,所以我們要在這個 URL 的後面加上 alt=json-in-script&callback=handleJson 這樣的參數,其中 callback 指的是會用哪個 JavaScript function 來處理回傳的 JSON data,此例中名為 handleJson。所以我們會在網頁上加入像這樣的 code:
<script type="text/javascript">
  function handleJson(json) {
    // 處理 data
  }
</script>
<script type="text/javascript" 
src="http://www.google.com/calendar/feeds/
taiwan__zh_tw%40holiday.calendar.google.com/public/
full?orderby=starttime&alt=json-in-script&callback=handleJson"></script>
如此一來你在 handleJson function 中所拿到的 json 變數就是一個 JSON object,至於這個 object 裡面的 field 該怎麼 access,你可以參考說明文件。舉個例子,如果你要取得這個 feed 中的 title 欄位,從說明文件中得知它是在 feed.title.$t,所以你在 handleJson function 裡就該用 json.feed.$t 來 access title 欄位的值,比方說:
function handleJson(json) {
  alert('Title: ' + json.feed.title.$t);
}
就會跳出一個視窗顯示 「Title: 台灣假日」。
JavaScript 的應用真是愈來愈強大囉!

沒有留言:

張貼留言