GoogleCL就是指Google Command Line,這是一個可以讓你直接用命令列和Google服務溝通的工具。不論是Google文件、日曆、Picasa相簿或是YouTube影片,只要一行命令就可以直接上傳,而且還能執行一些額外的工作,例如編輯、刪除和條列等。
GoogleCL官方網站:http://code.google.com/p/googlecl
系統需求
-
Python 2.5或2.6
-
gdata 1.2.4以上
安裝方式
由於GoogleCL可以跨平台使用,每種平台安裝方式都不太相同,分別說明如下(以下教學以Unix-based系統為主):
Mac OS X
要在Mac OS X上安裝GoogleCL,請執行以下步驟:
-
安裝 MacPorts(下載位置:http://www.macports.org/install.php);
-
打開終端機,輸入
sudo port -v selfupdate
,讓MacPorts更新程式列表; -
安裝GoogleCL,請在終端機中輸入
sudo port install googlecl
。
GoogleCL需要Python和Gdata,不過如果你的電腦上沒有安裝這兩個程式的話,MacPorts會自動幫你安裝。
Linux(以Ubuntu為例)
想在Ubuntu上安裝GoogleCL,請執行以下步驟:
-
打開終端機,然後輸入
sudo apt-get install python-gdata
; -
下載GoogleCL deb版本(下載網址:http://tinyurl.com/3x9xk57);
-
在終端機中移動到deb檔案所在的資料夾;
-
輸入
sudo dpkg -i googlecl*.deb
。
Windows
如果你要在Windows上安裝GoogleCL,請執行以下步驟:
-
下載並安裝Python(下載網址:http://python.org/download/);
-
下載 GData-python-client並解壓縮(下載網址:http://code.google.com/p/gdata-python-client/);
-
選擇「開始功能表」->「執行」,然後輸入
cmd
。 -
在純文字介面中,切換到GData的資料夾;
-
接著輸入
[python安裝位置]\python setup.py install
,Gdata就會自動安裝; -
下載GoogleCL(下載位置:http://tinyurl.com/236826h);
-
再一次切換到GoogleCL的資料夾;
-
請輸入
[python安裝位置]\python setup.py install
,GoogleCL就會自動安裝。
Note:一般來說,在Windows底下Python 2.6的預設安裝目錄是:C:\python26\
用法
安裝好GoogleCL後,我們就可以開始用Google Command Line的強大功能了,在Unix-based中基本的命令結構如下:
google [服務] [工作] --[參數] [檔案]
其中服務是指你要使用的Google服務,而工作則是這個服務可執行的基本功能,例如上傳、刪除等。參數則是用來指定檔案名稱、標籤或是要使用的編輯器等參考資料,而檔案就是指你要處理的檔案了。這部分我們會在各個服務的介紹中再次說明。
Tips:如果你是用Windows系統,請使用C:\Python26\python C:\Python26\Scripts\google
取代Unix-based系統中的
GoogleCL服務之一:Google Docs
GoogleCL中的Google Docs服務大概是最強大的功能了,你可以透過GoogleCL上傳、下載、刪除甚至編輯Google Docs,不過即使我們下了 --format
參數,下載文件時也只能以txt檔下載。而透過GoogleCL的部分也因為目前僅支援終端機中的純文字編輯器,如:vim或emacs等,所以也只有純文字的編輯能力。
不過還是有變通的方法,例如我就是利用reStructuredText(或簡稱ReST)這個輕量標籤語言來撰寫純文字檔,並使用Google Docs當作雲端儲存,ReST在需要的時候可以方便的轉換成html、pdf或odt檔,如果有需要也可以轉成Word檔來用,非常方便。
基本指令:Google docs [工作] --[參數] [檔案]
▲GoogleCL裡最好用的就是可以直接以純文字編輯器來編輯Google Docs上的檔案,打開終端機後,輸入 google docs edit --"文件名稱" --editor "vim"
就可以使用vim編輯該份文件,如果你的Google Docs上沒有相同檔案,則會開啟一份新文件。第一次使用GoogleCL時會請你建立使用者設定檔,請輸入Google帳號即可。
Tips:除了終端機內的純文字編輯器如vim和emacs之外,目前GoogleCL不支援任何GUI文字編輯器,如Notepad++等會無法存檔。不過現在版本的GoogleCL使用vim編輯時會有一點小問題,第一次開新檔時,請不要用:w
存檔,而是用:wq
存檔並退出,否則GoogleCL會無法儲存,第二次開啟相同的檔時,就可以使用:w
來存檔了。至於emacs則是完全沒有問題。
▲接著GoogleCL就會自動連到Google Accounts的存取允許頁面,如果你有多個Google或Google App帳號的話,請選擇要使用的帳號。
▲然後請選擇「Grant access」按鈕允許GoogleCL存取你的Google帳號。
▲接著再次輸入GoogleCL指令。
▲因為我的Google Docs裡面沒有相同名稱的檔案,因此GoogleCL會自行建立一個新檔。
▲接著你就可以開始使用vim或是emacs等文字編輯器來編輯內容了。
▲編輯完成後,存檔並關閉文字編輯器,GoogleCL就會上傳你所做的更動,接著登入Google Docs你就可以看到剛剛建立的檔案了。
▲開啟檔案你就可以看到剛剛編輯的內容已經上傳了。
Google Docs 可執行的工作
- delete
-
刪除檔案。範例:
google docs delete --title "test123"
刪除名為「test123」的檔案。 - list
-
文件列表。範例:
google docs list title,url-direct --delimiter ": "
列出所有文件檔名及文件的直接連結,並且中間用冒號分隔。 - upload
-
上傳文件。範例:
google docs upload ~/Desktop/test123.doc
上傳一個名為「test.doc」的檔案。 - edit
-
編輯文件。範例:
google docs edit --title "test123" --editor "vim"
使用vim編輯一個名為「test123」的檔案,如果Google Docs裡面沒有相同名稱的檔案,則會建立一個新檔。 - get
-
下載文件。範例:
google docs get --title "test123"
下載一個名為「test123」的檔案。
Google Docs 可使用的參數
- title
-
文件名稱。
- editor
-
使用的文字編輯器。
- format
-
指定檔案格式,可使用「document」(文件)、「spreadsheet」(試算表)、「Presentation」(簡報)等。
- delimiter
-
指定分隔符號。
- folder
-
指定資料夾。
GoogleCL服務之二:Google Calendar
GoogleCL用在Google Calendar的時候可以執行新增、刪除、列表和顯示今天的行事曆等工作。
基本指令:Google calendar [工作] --[參數] [記事]
▲要直接從終端機新增記事,請輸入 google calendar add "記事"
,然後在第一次使用時也請輸入Google帳號並允許GoogleCL存取你的帳號。
▲接著打開Google Calendar,你就可以看到剛剛輸入的記事顯示在你的行事曆了。
Tips:由於是使用文字介面輸入行事曆,因此請使用Google Calendar的Quick add方式輸入記事,使用方式請參閱:http://tinyurl.com/25jvm8l。
Google Calendar 可執行的工作
- add
-
增加記事。範例:
google calendar add "於 16:00 開會"
,這會在今天的行事曆上下午四點新增一筆「開會」的記事。 - delete
-
刪除記事。範例:
google calendar delete --cal "work" --title "開會"
,這個指令會刪除「work」行事曆裡名為「開會」的記事。 - list
-
列出行事曆。範例:
google calendar list --date 2010-05-01,2010-05-31
這個指令會列出2010年5月1日到31日間所有的記事。 - today
-
列出從現在起24小時內的行事曆。範例:
google calendar today
。
Google Calendar 可使用的參數
- title
-
記事的名稱。
- cal
-
行事曆的名稱。
- date
-
時間。在GoogleCL裡,時間表示的方式為「YYYY-MM-DD」(當天的行事曆)、「YYYY-MM-DD,」(當天以後的行事曆)、「YYYY-MM-DD,YYYY-MM-DD」(這兩天之間的行事曆)和「,YYYY-MM-DD」(當天以前的行事曆)。
- query
-
搜尋所有的文字,包含記事標題、標籤和內文。
GoogleCL服務之三:Google Contacts
GoogleCL裡的Contacts服務可以直接從終端器輸入或刪除一筆聯絡資訊,並能新增或刪除聯絡人群組。
基本指令:google contacts [工作] [連絡人資訊]
▲要輸入單筆聯絡人資訊,請輸入 google contacts add "聯絡人名稱, 聯絡人電子郵件"
,目前仍無法輸入其他的聯絡資訊,另外如果想一次輸入多筆聯絡人的話,請用以上格式將所有聯絡人的資訊輸入到一個純文字檔中,並將副檔名改成 .csv
後,輸入 google contacts add xxx.csv
。
▲接著你就可以在Gmail裡的聯絡人裡找到剛剛輸入的聯絡人資訊了。
Google Contacts 可執行的工作
- add
-
新增聯絡人。範例:
google contacts add "PCHome編輯部, pchome@hmg.com.tw"
,這會在你的Gmail聯絡人裡新增一筆名為「PCHome編輯部」的聯絡人。 - add-groups
-
新增聯絡人群組。範例:
google contacts add-groups Friends
,這會新增一個名為「Friends」的群組。 - list
-
列出聯絡人。範例:
google contacts list name,email
,這會以「姓名,電子郵件」的格式列出所有聯絡人,中間逗號後不可有空格,目前測試電話仍無法顯示。 - list-groups
-
列出所有的聯絡人群組。範例:
google contacts list-groups
。 - delete
-
刪除聯絡人。範例:
google contacts delete "PCHome編輯部"
,這會刪除名為「PCHome編輯部」的聯絡人。 - delete-groups
-
刪除聯絡人群組。範例:
google contacts delete-groups "Friends"
,這會刪除名為「Friends」的聯絡人群組。
Google Contacts 可使用的參數
無
GoogleCL服務之四:Blogger
雖然現在大多數的使用者都偷懶去玩微網誌了,不過還是有努力的人會去寫部落格的。因此GoogleCL當然也就支援Blogger發布,讓這些勤勞的人使用。通常一篇部落格文章都很長,雖然你也可以直接輸入在指令中,不過還是建議將內文另外儲存到一份純文字檔裡,再用GoogleCL發布上去。
基本指令:google blogger [工作] --[參數] xxx.txt
▲要用GoogleCL來發布部落格文章,建議還是先寫在一份純文字檔中。
▲然後請輸入 google blogger post --tag "標籤" --title "文章標題" [內文純文字檔位置]
。
▲接著你就可以在你的部落格上面看到剛剛發布的文章了。
Google Blogger 可執行的工作
- post
-
發布文章。範例:
google blogger post --tag "test" --title "test" --draft "test"
,這會在你的Blogger主要部落格中建立一篇標籤、標題和內文都是「test」的文章,並存成草稿。 - tag
-
為文章上標籤。範例:
google blogger tag --title "test drive googlecl" --tag "test_drive"
,這會為「test drive googlecl」這篇文章加上「test_drive」的標籤。 - list
-
列出部落格中所有文章和該文章的連結。範例:
google blogger list --delimiter ": " --blog "PCHome Test"
,這會列出「PCHome Test」這個部落格(假設你有很多Blogger部落格在同一帳號下)中的所有文章,並以「:」分隔標題和網址。 - delete
-
刪除一篇文章。範例:
google blogger delete --title "test drive googlecl"
,這會刪除你的主要部落格中「test drive googlecl」這篇文章。
Google Blogger 可使用的參數
- title
-
指定文章標題。
- blog
-
指定部落格名稱。
- delimiter
-
指定分隔符號。
- draft
-
將文章儲存為草稿。
- tag
-
指定標籤名稱。
GoogleCL服務之五:Picasa
GoogleCL的Picasa服務可以讓你直接上傳照片、建立相簿或著刪除照片和相簿等。
基本指令:google picasa create --title "[相簿名稱]" [要上傳的圖片位置]
▲如果要上傳照片到新相簿,請輸入 google picasa --title "[相簿名稱]" --tags "[相片標籤]" [要上傳的照片位置]
,這樣就會將你指定的照片上傳到Picasa中你指名的新相簿中,並加上標籤。
▲等指令跑完後,你就可以在指令的相簿裡找到剛剛上傳好的照片了。
Google Picasa 可執行的工作
- create
-
建立新相簿。範例:
google picasa create --title "test" ~/Desktop/xxx.jpg
,這會將桌面上xxx.jpg這張照片上傳到Picasa中新建立的「test」相簿。 - post
-
將照片傳到已有的相簿。範例:
google picasa post --title "Tours" ~/Desktop/xxx.jpg
,這會將桌面上xxx.jpg這張照片上傳到Picasa中的「Tours」相簿。 - get
-
下載相簿裡的照片。範例:
google picasa get --title "Tours" --query "SF" ~/Desktop/SFPhotos/
,這會將「Tours] 相簿裡,標籤裡有「SF」字樣的照片全部下載到桌面上「SFPhotos」資料夾中。 - delete
-
刪除相簿或照片。範例:
google picasa delete --query "nude"
,將標籤裡有「nude」字樣的照片全都毀屍滅跡。 - list
-
列出照片。範例:
google picasa list --title "Tours" --delimiter ": "
,這會將「Tours」相簿裡的所有照片和其直接連結都列出來,並以「: 」分隔。 - list-albums
-
列出相簿。範例:
google picasa list-albums --delimiter ": "
,這會列出你所有的相簿和其直接連結,並以「: 」分隔。 - tag
-
為照片加上標籤。範例:
google picasa tag --query "SF" --tags "San Francisco"
,這會為標籤裡有「SF」字樣的照片加上「San Francisco」這個標籤。
Google Picasa 可使用的參數
- title
-
相簿名稱。
- query
-
搜尋字串。
- delimiter
-
指定分隔符號。
- tags
-
指定標籤名稱。
GoogleCL服務之六:YouTube
使用GoogleCL也可以讓你上傳、刪除和標籤YouTube影片。
基本指令:google youtube post xxx.avi
▲如果要上傳影片請用「post」指令,不過要注意的是,GoogleCL不支援中文檔名上傳。請輸入 google youtube post --category [類別名稱] [影片檔位置]
就可以上傳影片。
▲然後進入你自己的YouTube頁面,就可以看到剛剛上傳的影片檔了。
Google YouTube 可執行的工作
- post
-
發布影片。範例:
google youtube post --category "Travel, Education" ~/Desktop/xxx.avi
,這會將桌面上xxx.avi這個影片上傳到YouTube上,並加入「Travel」和「Education」兩個分類。 - delete
-
刪除影片。範例:
google youtube delete --title "xxx"
,這會刪除你的YouTube帳號裡名為「xxx」的影片。 - list
-
列出影片。範例:
google youtube list --tags "travel"
,這會列出所有標籤為「travel」的影片。 - tag
-
為影片加上標籤。範例:
google youtube tag --title "xxx" --tags "porn"
,為標題為「xxx」的影片加上「porn」標籤。
Google YouTube 可使用的參數
- category
-
指定影片類別。
- title
-
指定影片標題。
- tags
-
指定影片標籤。
- delimiter
-
指定分隔符號。
不過要說比較實用一點的話......大概省下等載入網頁圖片、其他東東的時間吧!既然是只使用命令列玩Google的話,電腦等級應該就沒有什麼要求吧......
不用忍受在那邊開網頁啦
google 真是越來越週全了咧