I try to using it create a simple sample.
*******
Ruby是我最近常用的語言
因為工作的需要,使用的算是普遍
不過個人資質愚笨,學的很慢啦
某天下班看到godfat大的PO文,於是就手癢趕快來試試看
順便看看自己能否應用基本的概念
畢竟Google有提供Sample
好的,首先需要安裝gdata
可以透過gem比較快
就是輸入指令gem install gdata
使用OS X請安裝xcode
如果像我辦公室用CentOS,gem裝起來怪怪的
就建議您抓原始zip檔回來,執行裡面的setup.rb
比較沒問題
裝好之後輸入gem list看看
裡面有gdata就成功了
之後就是開始寫程式了,Google提供不少範例
幾個較大的Service像是Youtube都有Sample Code
大致上就是通過驗證,然後Google產生回應
自己簡單的取得回應,基本的目的就達到了
我自己選了一個Google Doc的試試看
用途是列出自己帳號下的所有文件
包含檔名、類型、上傳日期、下載網址
程式碼如下
user= ARGV[0]
pass= ARGV[1]
require 'gdata'
$KCODE = 'UTF8'
if (user="" ||pass="") then
puts "Please enter the user name and password for argv!"
elsif
client = GData::Client::DocList.new
client.clientlogin("#{user}","#{pass}")
feed = client.get('http://docs.google.com/feeds/documents/private/full').to_xml
feed.elements.each('entry') do |entry|
puts 'title: ' + entry.elements['title'].text
puts 'type: ' + entry.elements['category'].attribute('label').value
puts 'updated: ' + entry.elements['updated'].text
puts 'id: ' + entry.elements['id'].text
# Extract the href value from each
links = {}
entry.elements.each('link') do |link|
links[link.attribute('rel').value] = link.attribute('href').value
end
feed = client.get('http://docs.google.com/feeds/documents/private/full').to_xml
feed.elements.each('entry') do |entry|
puts 'title: ' + entry.elements['title'].text
puts 'type: ' + entry.elements['category'].attribute('label').value
puts 'updated: ' + entry.elements['updated'].text
puts 'id: ' + entry.elements['id'].text
# Extract the href value from each
links = {}
entry.elements.each('link') do |link|
links[link.attribute('rel').value] = link.attribute('href').value
end
puts links.to_s
end
end
只是簡單的加入一個檢查機制
對傳入參數的判斷,避免帳號密碼有漏輸入
把程式存成一個*.rb的檔案
輸入指令試試看
ruby *.rb id password
不久就跑出來結果
終端機支援Unicode
可以看到中文檔名喔
非常簡單又沒程度的小試驗
讓大家見笑了
*******
我工作用的CentOS好怪
Gem執行install成功了
但是真正要require時都沒作用勒
希望Google快出AppEngine的Ruby版本
沒有留言:
張貼留言