先月、Googleが自社のサービスをコマンドラインから利用するためのツール、GoogleCLをリリースしました。GoogleCLは、Blogger、Calender、Contacts、Docs、Picasa、YouTubeといったサービスに対応しています。プロジェクトはGoogle Code上でホストされていて、1ヶ月ほどの間に2回新バージョンをリリースするなど活発に開発されています。
今回は、GoogleCLをUbuntuにインストールする方法とその使い方を紹介します。
GoogleCLのインストール
原稿執筆時点では、GoogleCLはUbuntuのリポジトリから利用できません。Debianではsid(unstable)でパッケージが利用できますが、登録されたのが、Ubuntu次期リリース10.10(Maverick)のDebianImportFreeze後だったため、次期リリースのリポジトリに入るかは微妙な状況です[1]。
しかし、GoogleCLのプロジェクトページでUbuntuに対応したパッケージが配布されているので、ダウンロードページからdebパッケージをダウンロードし、保存したファイルをダブルクリックするだけでインストールできます。パッケージの依存関係を自動で解決しないdpkgコマンドを使う場合は、事前にpython-gdataのインストールが必要です[2]。
GoogleCLの使い方
googleコマンドの後にサービス名、タスク、オプションをつけて実行します。例えば、Bloggerから過去の投稿のタイトルとURLのリストを取得するには次のように実行します。
ただし、GoogleCLを初めて使う場合は、アカウントの登録と権限の付与が必要です。コマンドを実行すると、"Please specify user"というメッセージでGoogleアカウント名の入力を求められるので、"example@gmail.com"のように入力してエンターを押します。すると、次のようなメッセージが表示され、メッセージ中のURLがブラウザで開かれ、許可を求める画面が表示されるので、「アクセスを許可」をクリックします(図1)。
端末に戻りエンターキーを押すと、次のようなリストが取得できます[3]。
また、次のようにしてブログに投稿できます。
この例ではタイトルを"Test Post"、本文を"Hello, world!"、さらに"googlecl"というタグを付けて、下書き状態で投稿しています。
他にも、次のようにしてGmailに登録している連絡先の一覧をCSVファイルとして保存するといったこともできます。
Webインターフェースでは不可能なこともできる
ここまで紹介してきた操作は、Googleが提供している各サービスのWebインターフェースからも利用できるものです。あえてコマンドラインを使う理由は、デスクトップ環境がなくても操作できる、シェルスクリプトなどで利用できるといったところでしょう。そういった利点だけでなく、GoogleCLは通常のWebインターフェースでは不可能だった操作ができます。
例えば、PicasaウェブアルバムはWebインターフェースでは、1枚ずつしか写真をダウンロードできません(図2)。Picasaのソフトウェアをインストールし、アルバムの同期機能を使う以外に、アルバム単位で写真をまとめてダウンロードする簡単な方法がありませんでした。
GoogleCLでは、次のようにアルバムのタイトルを指定して実行するだけで、目的のディレクトリにアルバムと同名のディレクトリが作成され、アルバム内の写真をすべてダウンロードできます。
設定ファイルを編集して詳細に設定する
GoogleCLの設定ファイルを編集すると、コマンドラインからは設定できない項目も指定できます。設定ファイルはコマンド実行時に指定できるので、ここでは元のファイルをコピーしたものを編集して使用します。
まずは、次のコマンドで設定ファイルをコピーします。
コピーしたファイルをエディタで開きます。
例として、Picasaで作成するアルバムを「限定公開(URLを知る人のみアクセスできる)」とする設定にします。該当箇所を次のように書き換えて保存します。
次のように設定ファイルを指定して実行すると、限定公開のアルバムを作成できます。
以上のように、GoogleCLを使えば、Googleが提供しているAPIの知識がなくても、コマンドラインから手軽にGoogleサービスを利用できます。コマンドの実行例、詳細なマニュアル、設定ファイルに記述できる項目、といった資料を参照して、コマンドラインからの操作を活用してください。