2008年12月5日 星期五

使用 Blogger Data API 連接遠端 AJAX 應用

常常會有一些小資料,不常異動的資料,如果可以結合 Blogger Data API,將資料放在部落格的某一筆文章裡面,然後如 MOTUDO 網誌: jQuery 整合 Blogger Data API 小工具一般用 alt=json-in-script來取用,就可以編修這些公開的小資料。

這樣作法的好處是直接使用現成 Google 服務組合即可,雖然是只有幾筆的簡單資料,偏偏有時候又需要改動,這樣的應用實在不需要使用到資料庫來使事情複雜化。

也許會有疑問既然資料異動不多,直接寫入 Google Gadgets Editor (GGE) 寫的程式碼裡面,不是一樣可以存起來。不過必須考慮到有些使用者不是開發者,改部落格文章可能比較容易一些,而且資料與程式分開也比較好維護,不過缺點就是其中一個掛了,這種服務模式就不行了。

要使用 Blogger Data API 來取得 JSON 需要知道所謂的 postID,這個數字大約十幾個字,目前的找法是先登入 Blogger 編輯之後,換成觀看頁面模式,這時候會出現一支筆在每篇文章的下面,取得該連結就可以得到所謂的 postID。

例如要取得 MOTUDO 網誌: jQuery 整合 Blogger Data API 小工具 這篇的內容,就需要 feeds/posts/default/postID 的 URI,然後加上 alt=json-in-script 就可取出內容來使用。不過這裡已經建立 MOTUDO 網誌: Json Data 20081205這個資料服務連結,所以測試是用新建立的資料集連結。

測試的 Google Gadgets XML 參閱 dev-motudo-zht-json-content-200812.xml,測試結果如圖展示,只是簡單的取出需要的 JSON 物件,然後取出屬性而已,下面為內嵌網頁可以參考。



延伸
  1. jQuery 整合 Blogger Data API 小工具
  2. jQuery 與 Google Gadgets 整合測試
  3. Json Data 20081205

Json Data 20081205

這是一個資料集的文章,提供給遠端 Google Gadgets 小工具資料存取使用,對於讀者並無意義。連接的網址為 /feeds/posts/default/3807003915654117680

D1S{"title":"PG","name":"MOTUDO"}D1E

2008年12月3日 星期三

jQuery 整合 Blogger Data API 小工具

之前做了 MOTUDO 網誌: jQuery 與 Google Gadgets 整合測試,雖然 Google Gadgets 也有提供類似的功能,為何要用 jQuery 來寫?主要是移到別的地方,jQuery 還是可以用,脫離 Google Gadgets 的容器,例如 iGoogle 這類環境,很多東西都沒有用。

這次測試的連接這個網誌的功能,同樣的 Google Gadgets 也有提供相關的範例,可以直接改一下就可以用,參閱 dev-motudo-zht-blog-2008-12.xml,不過為了練習,所以使用 jQuery 連接 Google Blogger Data API 輸出的 JSON 格式。

該格式請參閱 Using JSON with Google Data APIs - Google Data APIs - Google Code 說明,注意的是一定要設 max-results 這參數,不然可能拉出幾百筆的資料,會讓客戶端等很久而且也沒有必要。

借用 Google Gadgets 的 UserPref 來做出設定功能,所以可改設為其他 xxx.blogspot.com 的網誌,使用於 getJSON 的連結如下。
http://"+prefs.getString("blogSite")+
"/feeds/posts/default?max-results=5&
alt=json-in-script&callback=?


另外輸出的 JSON 中要找出這個貼文的連結比較麻煩,連結放在 link 陣列之中,需要找那個有 alternate 屬性的才是,需要加個迴圈並判斷如下。
if(entry.link[k].rel=='alternate')
{alturl=entry.link[k].href;break;}

測試的 Google Gadgets XML 在 dev-motudo-zht-json-200812.xml ,另外嵌入到網頁的結果結果如下。



延伸
  1. Google Gadgets Editor (GGE)
  2. Google Data APIs Samples - Google Data APIs - Google Code
  3. 使用 JSON 來讀取你的 Google Data
  4. Using JSON with Google Data APIs - Google Data APIs - Google Code
  5. Simple example of retrieving JSON feeds from Blogger Data API
  6. dev-motudo-zht-blog-2008-12.xml

2008年12月2日 星期二

jQuery 與 Google Gadgets 整合測試

日前寫 MOTUDO 網誌: 八日小工具 Motudo Gadget Day8 的時候,利用的是 Google Gadgets Editor (GGE) 這個編輯器,這工具可以線上編輯觀察,實在很方便,不需要自己做好 Gadget XML 上傳到網頁空間。

雖然 Google Gadgets 有提供自己的 ajax 功能,不過這裡想要測試一下 jQuery 放在 Google Gadgets XML 裡面的效果。jQuery 一樣使用線上 AJAX Libraries API 提供的,所以不需要自己準備網頁空間。

首先要引入 jQuery ,需要先加入下面連結到 script 的 src 屬性裡面

http://www.google.com/jsapi

然後用 AJAX Libraries API 將 jQuery 載入使用。

google.load("jquery", "1");

使用的範例就是 AJAX Libraries API 裡面的範例,只是查詢改為 motudo 而已,另外載入後執行的 google.setOnLoadCallback 也需要換成 Google Gadgets 的 _IG_RegisterOnloadHandler 才會執行載入後的動作。

測試的結果可以參考 dev-jquery-ajax-200812.xml 或是下面網頁所展示。



延伸
  1. jQuery: The Write Less, Do More, JavaScript Library
  2. Google Gadgets
  3. Getting Started: Legacy Gadgets API - Gadgets - Google Code
  4. AJAX Libraries API
  5. MOTUDO 網誌: 八日小工具 Motudo Gadget Day8
  6. 摩圖獨專案 - Motudo Project

Amazon Simple DB 公開測試


Amazon SimpleDBAmazon Web Services 服務裡面的一種,顧名思義就是用來放置資料的服務,過去在 Private Beta Test 階段,要測試該服務需要申請後等待許可,往往需要等很久,現在公開測試,應該代表服務趨於穩定,只要申請就可以使用。

另外根據 Amazon Web Services Blog: Amazon SimpleDB Grows Up 裡面的的說明,接下來六個月會有免費額度可以使用,細節請參閱其中連結,如果不需要使用 EC2 去連結的話,小的資料服務這段期間倒是可以完全不用錢,有機會可以試一試。

稱為 Simple 的意思應該是與關連性資料庫相對,SimpleDB 的資料模型比較簡單,只有四種名詞:
  1. Domains 房間
  2. Items 物品
  3. Attributes 屬性
  4. Values 數值
大概的意思如上,細節可以參閱 Amazon SimpleDB Getting Started Guide (API Version 2007-11-07)。既然稱為簡單,要跨房間找東西就要自己來,也就是說同一類東西最好放同一個房間,否則會比較不好找到。

這個服務目前還沒有控制權限,也就是說有些你打算公開使用的部份無法直接由 SimpleDB 來設定,需要經過一個中介的程序,這點對於某些服務來說有其不方便,等於需要常設一個中介權限控制機制,如果 SimpleDB 可以直接提供就太方便了,相關討論可參閱 Amazon Web Services Developer Community : ACLs for SDB

延伸
  1. Amazon SimpleDB
  2. Amazon Web Services
  3. Amazon Web Services Blog: Amazon SimpleDB Grows Up
  4. MOTUDO 網誌: g-Eclipse 連接 S3/EC2 的工具
  5. MOTUDO 網誌: The persistence of cloud 停駐的雲
  6. MOTUDO 網誌: OSGi on EC2
  7. Amazon SimpleDB Getting Started Guide (API Version 2007-11-07)
  8. Amazon SimpleDB 降價 at Gea-Suan Lin’s BLOG

2008年12月1日 星期一

Motudo Gadgets 小工具嵌入 Gmail

因為 Gmail 英文版本提供加入小工具的測試功能,試用一番有幾點記錄。
  1. 目前使用 Gadget XML 設定,所以無法提供設定功能,也就是說花樣不能換。不像 Blogger 提供 JavaScript 模式,可以直接嵌入設定後小工具。
  2. 邊框有大小問題,如上圖可見,需要為這類窄框調整才不會出現捲動棒。
  3. 大小的限制,只適合用來輔助 Gmail 的資訊提供,例如日曆小工具。對於比較複雜的互動應該不適合。
延伸
  1. 摩圖獨專案 - Motudo Project
  2. Motudo Gadget Google 小工具 - 八日小工具
  3. Official Gmail Blog: New in Labs: Calendar and Docs gadgets