GoogleCL(Googleコマンドライン)のインストールと少々

ご存知の方も多いと思いますが以前Googleからこんな朗報が.

Googleは6月18日(現地時間)、コマンドラインからGoogleのサービスを操作するためのツール「GoogleCL」をリリースしたと発表した。Google Codeのプロジェクトページからダウンロードできる。Linux、Windows、Macに対応し、利用するにはPythonGoogle Data APIs Python Client Libraryのインストールが必要。

Google、コマンドラインツール「GoogleCL」を公開 - ITmedia エンタープライズ

エンジニアにはたまらんツールですね.

ほんとうに便利なGoogleコマンドライントリック5選! : ライフハッカー[日本版]という良記事があがっていたので触発されて使ってみました.

環境

  • Ubuntu10.04(LTS) (Linux系ならなんでも)
  • Python 2.5.6 (利用するためには2.5以上が必要)

バージョンの確認は以下のコマンド

$ python --version 
Python 2.6.5

なければ入れてください.Ubuntuの場合はapt-getでinstallできます。

$ sudo apt-get install python 

インストール

  1. 必要なファイルをgooglecl - Command line tools for the Google Data APIs - Google Project Hostinggdata-python-client - Google Data APIs Python Client Library - Google Project Hostingからダウンロードする(ここではtar.gzを利用)
  2. ダウンロードしたファイルを展開,インストール
# ファイルの展開
$ tar zxvf gdata-2.0.10.tar.gz 
$ tar zxvf googlecl-0.9.7.tar.gz

# 展開したフォルダに移動してインストール(Gdata)
$ cd gdata-2.0.10/
$ sudo python setup.py install

# GoogleCLも同様にしてインストール
$ cd ../googlecl-0.9.7/
$ sudo python setup.py install

インストールが終われば全部消しちゃってOKです(googleclはsudo付けないと消えません).

$ sudo rm -rf gdata-2.0.10.tar.gz googlecl-0.9.7.tar.gz gdata-2.0.10/ googlecl-0.9.7/ 

非常に簡単ですね.

使ってみる

ここではドキュメント(Docs)とカレンダー(Calendar)を使ってみます.

# testという名前のドキュメントをvimエディタで編集する
$ google docs edit --title "test" --editor vim
    • エディタにはemacs,nanoなど,自分が普段使っているものを指定してみてください
    • 基本的にエディタを終了した場合に反映されます
    • 同じファイルをブラウザ上で開いている場合はコリジョンを起こします(当然ながら)

なお,初回起動時にはユーザ名を聞かれます.

Please specify user:
# 入力するとブラウザ上でGoogleアカウントが立ち上がるので[アクセスを許可]をクリックして承認

これでエディタが立ち上がり,ドキュメントの編集が可能.サービスごとに承認してやる必要がありそうです.

その他のコマンド

# ファイル名を指定してdelete
$ google docs delete --title "test"

# ファイル名を指定してダウンロード(便利!)
$ google docs get --title "Homework [0-9]*" 

$ google docs list title,url-direct --delimiter ": " # list docs
$ google docs upload the_bobs.csv ~/work/docs_to_share/* 
# 6時から7時までに"Dinner party with George today at"が追加される(うまく動いてない..)
$ google calendar add "Dinner party with George today at 6pm"

# 今日のスケジュールを確認(なぜか時間の表示はない)
$ google calendar today
Dinner party with George today at,http://www.google.com/calendar/event?eid=OHFibWU3NzNmcnJjMGg0ZGJvcHQya3ZxaDQga3lvaGVpLmhhbWFkYUBt

# タイトルを指定してイベントを削除(のはずなんだけど何度やってもできなかったです..)
$ google calendar delete --title "Dinner party with George"

$ google calendar list --date 2010-06-01,2010-06-30 # List events.

ちなみに日本語でもいけます

$ google calendar add "午後7時から9時まで美容院"
$ google calendar today
Dinner party with George today at,http://www.google.com/calendar/event?eid=OHFibWU3NzNmcnJjMGg0ZGJvcHQya3ZxaDQga3lvaGVpLmhhbWFkYUBt
美容院,http://www.google.com/calendar/event?eid=YWIwcGs1NmhuNWVnam91ZzQ1aWFrc2tta28ga3lvaGVpLmhhbWFkYUBt

うーん,これはすごい.しかし相変わらず削除ができない.できた人いたら教えてください.
ふだん

感想

  • Googleドキュメントは使いやすい上に便利で何かと応用が利きそうと感じましたが,カレンダーに関しては狙いどおりに動かず今一歩でした(日本語で時刻を指定できるのはすごかったが).
  • Googleドキュメントを自分の好きなエディタでいじれるのは結構うれしいし,"google docs get"を用いてファイルをダウンロードをすることができるので,wget コマンドを使ってダウンロードできないGoogleドキュメント上のファイルをとってくるのに使えるなぁと思いました.普段からGmailの添付ファイルをGUIでダウンロードするのが煩わしく感じているので,添付ファイルをGoogleドキュメントに全部流してくれたらさらに使い勝手が向上するなぁとも思いました.もしくはGmailもGoogleCLに対応してもらうとか...今後のupdateに期待したいところです.

以上.