Ubuntu Weekly Recipe

第130回GoogleCLでコマンドラインからGoogleのサービスを利用する

先月、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のリストを取得するには次のように実行します。

$ google blogger list title,url-site

ただし、GoogleCLを初めて使う場合は、アカウントの登録と権限の付与が必要です。コマンドを実行すると、"Please specify user"というメッセージでGoogleアカウント名の入力を求められるので、"example@gmail.com"のように入力してエンターを押します。すると、次のようなメッセージが表示され、メッセージ中のURLがブラウザで開かれ、許可を求める画面が表示されるので、⁠アクセスを許可」をクリックします図1⁠。

Please log in and/or grant access via your browser at https://www.google.com/accounts/OAuthAuthorizeToken?oauth_token=XXXX&hd=default then hit enter.
図1 GoogleCLに対する権限の付与はブラウザを利用する。
図1 GoogleCLに対する権限の付与はブラウザを利用する。

端末に戻りエンターキーを押すと、次のようなリストが取得できます[3]⁠。

梅雨明けはまだでしょうか,http://example.com/2010/07/rain.html
夏休みはもうすぐ,http://example.com/2010/07/summer.html

また、次のようにしてブログに投稿できます。

$ google blogger post --draft --title "Test Post" 'Hello, world!' --tags "googlecl"

この例ではタイトルを"Test Post"、本文を"Hello, world!"、さらに"googlecl"というタグを付けて、下書き状態で投稿しています。

他にも、次のようにしてGmailに登録している連絡先の一覧をCSVファイルとして保存するといったこともできます。

$ google contacts list name,email > contacts.csv

Webインターフェースでは不可能なこともできる

ここまで紹介してきた操作は、Googleが提供している各サービスのWebインターフェースからも利用できるものです。あえてコマンドラインを使う理由は、デスクトップ環境がなくても操作できる、シェルスクリプトなどで利用できるといったところでしょう。そういった利点だけでなく、GoogleCLは通常のWebインターフェースでは不可能だった操作ができます。

例えば、PicasaウェブアルバムはWebインターフェースでは、1枚ずつしか写真をダウンロードできません図2⁠。Picasaのソフトウェアをインストールし、アルバムの同期機能を使う以外に、アルバム単位で写真をまとめてダウンロードする簡単な方法がありませんでした。

図2 Webでは写真を1枚開いたときにだけ、ダウンロードできるようになっている。
図2 Webでは写真を1枚開いたときにだけ、ダウンロードできるようになっている。

GoogleCLでは、次のようにアルバムのタイトルを指定して実行するだけで、目的のディレクトリにアルバムと同名のディレクトリが作成され、アルバム内の写真をすべてダウンロードできます。

$ google picasa get --title "Test" ~/ダウンロード/

設定ファイルを編集して詳細に設定する

GoogleCLの設定ファイルを編集すると、コマンドラインからは設定できない項目も指定できます。設定ファイルはコマンド実行時に指定できるので、ここでは元のファイルをコピーしたものを編集して使用します。

まずは、次のコマンドで設定ファイルをコピーします。

$ cp ~/.googlecl/config ~/.googlecl/config_alt

コピーしたファイルをエディタで開きます。

$ gedit ~/.googlecl/config_alt

例として、Picasaで作成するアルバムを「限定公開(URLを知る人のみアクセスできる⁠⁠」とする設定にします。該当箇所を次のように書き換えて保存します。

[PICASA]
access = private

次のように設定ファイルを指定して実行すると、限定公開のアルバムを作成できます。

$ google picasa create --title "Test" --config ~/.googlecl/config_alt ~/ピクチャ/sample.jpg

以上のように、GoogleCLを使えば、Googleが提供しているAPIの知識がなくても、コマンドラインから手軽にGoogleサービスを利用できます。コマンドの実行例詳細なマニュアル設定ファイルに記述できる項目といった資料を参照して、コマンドラインからの操作を活用してください。

おすすめ記事

記事・ニュース一覧