Google Data Python ライブラリを使ってみる

Google Data APIs チーム、Jeffrey Scudder
2007 年 8 月

はじめに

Google Data Python クライアント ライブラリを使用して、多くの Google Data サービスのいずれかを使用するアプリケーションを作成することにしたとします。すばらしい選択です。この短いチュートリアルでは、クライアント ライブラリを使用してアプリケーションを開発する手順を簡単に説明します。

すぐにアプリケーションの作成を開始したいと思われるでしょう。ただし、まず開発環境を構成し、クライアント ライブラリに含まれるモジュールを実行するために必要なツールを設定する必要がある場合があります。以下の手順に沿って操作すれば、すぐにコードを実行できます。

Python をインストールする

Python クライアント ライブラリを使用して開発する場合は、Python 2.2 以降の動作バージョンが必要です。多くのオペレーティング システムには Python のバージョンが付属しているため、インストール手順をスキップできる場合があります。Python のバージョンを確認するには、コマンドライン ターミナルで python -V を実行します。(注: V は大文字です)。次のような結果が得られます。

Python 2.4.3

バージョン 2.2 以降が表示されたら、依存関係のインストールを開始できます。それ以外の場合は、以下のオペレーティング システムのインストール/アップグレード手順をご覧ください。

Windows に Python をインストールする

Windows では、Python の実装をいくつか選択できますが、このガイドでは python.org にある .msi インストーラを使用します。

  1. まず、Python のダウンロード ページからインストーラをダウンロードします。
  2. インストーラを実行します。すべてのデフォルト設定を使用できます。
  3. インストールが期待どおりに機能しているかどうかを確認するには、コマンド プロンプトを開いて python -V を実行します。

Mac OS X への Python のインストール

python.org のダウンロード リストには、Mac ユーザー向けの .dmg インストーラがあります。いずれかをインストールする手順は次のとおりです。

  1. http://www.python.org/download/mac/ に移動します。
  2. このページから、適切なバージョンの Mac OS X のインストーラをダウンロードします。注: Mac OS X 10.3.8 以前の Python インストール ページは、新しいバージョンの Mac OS X とは異なります。OS X のバージョンを確認するには、画面の左上にある Apple メニューから [この Mac について] を選択します。
  3. ダウンロードが完了したら、新しいディスク イメージ ファイル(python-2.5-macosx.dmg など)をダブルクリックしてマウントします。Safari をご利用の場合は、この設定はすでに完了しています。
  4. マウントされたイメージを開き、その中のインストーラ パッケージをダブルクリックします。
  5. インストール手順に沿って、表示される情報とライセンス契約を確認します。ここでも、デフォルト設定のままで問題ありません。
  6. Terminal.app(/Applications/Utilities 内)を開き、python -V を実行してインストールを確認します。インストールされているバージョンが表示されます。

Linux に Python をインストールする

Linux や他の *nix スタイルのオペレーティング システムにインストールする場合は、ソースコードをダウンロードしてコンパイルすることをおすすめします。ただし、任意のパッケージ マネージャーを使用して Python をインストールできる場合があります。(たとえば、Ubuntu では、コマンドラインで sudo apt-get install python を実行するだけで済みます)。ソースからインストールする手順は次のとおりです。

  1. Python のダウンロード ページからソース tarball をダウンロードします。
  2. パッケージをダウンロードしたら、コマンドラインを使用して解凍します。次の
    tar zxvf Python-2.<Your version>.tgz
  3. 次に、Python インタープリタのソースコードをコンパイルしてインストールする必要があります。解凍したディレクトリで ./configure を実行して、Makefile を生成します。
  4. 次に、make を実行します。これにより、ローカル ディレクトリに動作する Python 実行可能ファイルが作成されます。ルート権限がない場合や、ホーム ディレクトリから Python を使用したい場合は、ここで終了できます。このディレクトリから Python を実行できるようになるため、PATH 環境変数に追加することをおすすめします。
  5. ほとんどの Python スクリプトがインタープリタを探す /usr/bin/ に Python をインストールすることをおすすめします。ルートアクセス権がある場合は、make install をルートとして実行します。これにより、Python がデフォルトの場所にインストールされ、マシン上のすべてのユーザーが使用できるようになります。
  6. ターミナルを開いて python -V を実行し、インストールが想定どおりに機能しているかどうかを確認します。

依存関係のインストール

現在、外部依存関係は ElementTree という XML ライブラリのみです。Python バージョン 2.5 以降を使用している場合は、ElementTree は Python パッケージに付属しているため、インストールする必要はありません。

ElementTree がシステムにすでに存在するかどうかを確認するには、次の操作を行います。

  1. Python インタプリタを実行します。通常は、コマンドラインで python を実行して行います。
  2. ElementTree モジュールをインポートしてみます。Python 2.5 以降を使用している場合は、インタープリタに次のように入力します。
    from xml.etree import ElementTree
    古いバージョンの場合は、次のように入力します。
    from elementtree import ElementTree
  3. インポートが失敗した場合は、このセクションを読み進める必要があります。動作する場合は、Google Data ライブラリのインストールに進んでください。
  4. オペレーティング システムに適したバージョンをダウンロードします。たとえば、Windows を使用している場合は、elementtree-1.2.6-20050316.win32.exe をダウンロードします。その他のオペレーティング システムの場合は、圧縮版をダウンロードすることをおすすめします。
  5. ライブラリの .tar.gz バージョンまたは .zip バージョンを使用している場合は、まず解凍してから ./setup.py install を実行してインストールします。

./setup.py install を実行すると、ライブラリのコンパイルが試行され、Python モジュールのシステム ディレクトリに配置されます。ルートアクセス権がない場合は、./setup.py install --home=~ を実行して、ホーム ディレクトリまたは別の場所にモジュールをインストールできます。これにより、コードがホーム ディレクトリに配置されます。

インストールを完全に回避する方法もあります。ダウンロードしたファイルを解凍すると、elementtree という名前のディレクトリが表示されます。このディレクトリには、インポートする必要があるモジュールが含まれています。Python 内から import を呼び出すと、目的の名前のモジュールが複数の場所で検索されます。最初に検索されるのは現在のディレクトリです。そのため、常に 1 つのディレクトリからコードを実行する場合は、そこに elementtree ディレクトリを配置するだけで済みます。Python は、PYTHONPATH 環境変数にリストされているディレクトリも参照します。PYTHONPATH の編集手順については、この記事の最後にある付録をご覧ください。elementtree には ./setup.py install を使用することをおすすめします。

Google Data ライブラリのインストール

まだダウンロードしていない場合は、Google Data Python ライブラリをダウンロードします。最新バージョンについては、Python プロジェクトのダウンロード ページをご覧ください。

ライブラリをダウンロードしたら、選択したダウンロードの種類に応じて unzip または tar zxvf を使用して展開します。

これで、ライブラリ モジュールを Python にインポートできるようにインストールする準備が整いました。次のような確認方法がございます。

  • すべてのユーザーがアクセスできるようにパッケージをインストールできる場合は、解凍したアーカイブのメイン ディレクトリから ./setup.py install を実行できます。
  • これらのモジュールをホーム ディレクトリで使用するためにインストールする場合は、./setup.py install --home=<ホーム ディレクトリ> を実行します。
  • 場合によっては、モジュールのインストールを完全に回避したいことがあります。これを行うには、PYTHONPATH 環境変数を変更して、Google Data Python クライアント ライブラリの gdata ディレクトリと atom ディレクトリを含むディレクトリを追加します。PYTHONPATH を変更する手順については、この記事の最後にある付録をご覧ください。

  • 最後に、src ディレクトリから gdata ディレクトリと atom ディレクトリを、python を実行したときにいるディレクトリにコピーする方法もあります。Python はインポート時に現在のディレクトリを検索しますが、この方法は簡単でシンプルなものを作成する場合以外はおすすめしません。

Google Data ライブラリをインストールしたら、ライブラリをテストドライブする準備が整いました。

テストとサンプルを実行する

Google Data Python クライアント ライブラリのディストリビューションには、ライブラリの開発で使用されるテストケースがいくつか含まれています。また、依存関係とライブラリのインストールが機能していることを確認するための簡単なチェックとしても使用できます。ライブラリのコピーを解凍した最上位ディレクトリから、次のコマンドを実行してみてください。

./tests/run_data_tests.py

このスクリプトが正しく実行されると、コマンドラインに次のような出力が表示されます。

Running all tests in module gdata_test
.......
----------------------------------------------------------------------
Ran 7 tests in 0.025s

OK

Running all tests in module atom_test
..........................................
----------------------------------------------------------------------
Ran 42 tests in 0.016s

OK

...

テストの実行中にエラーが表示されなかった場合は、環境が正しく設定されている可能性があります。お疲れさまでした

これで、より興味深いものを実行できるようになりました。このディストリビューションには、アプリケーションの作成の出発点となるコードを含む samples ディレクトリが含まれています。簡単なインタラクティブ サンプルを試す場合は、./samples/docs/docs_example.py を実行してみてください。Google Documents List API のサンプルでは、Google アカウントのメールアドレスとパスワードの入力を求められます。Google ドキュメントにドキュメントやスプレッドシートがある場合は、選択したオペレーションに 1 を入力して一覧表示できます。(ドキュメントやスプレッドシートがない場合は、404 エラーが表示されます)。

特定の Google Data サービスに関心がある場合は、そのサービスのサンプルをご覧ください。ライブラリの基本的な使い方を把握できます。ほとんどの機能はサンプルコードで示されていますが、API で何ができるかを明確に把握するために、使用する予定のサービスのドキュメントを確認することをおすすめします。

「Hello World」の例を作成する

簡単な例から始めましょう。Google ドキュメント アカウント内のすべてのドキュメントのリストを印刷する簡単なプログラムは次のとおりです。

import gdata.docs.service

# Create a client class which will make HTTP requests with Google Docs server.
client = gdata.docs.service.DocsService()
# Authenticate using your Google Docs email address and password.
client.ClientLogin('jo@gmail.com', 'password')

# Query the server for an Atom feed containing a list of your documents.
documents_feed = client.GetDocumentListFeed()
# Loop through the feed and extract each document entry.
for document_entry in documents_feed.entry:
  # Display the title of the document on the command line.
  print document_entry.title.text

上記のコード スニペットをファイルとして保存して実行するか、コードを Python インタープリタに貼り付けて、Google Data Python クライアント ライブラリの動作を確認します。

まとめ

Google Data Python クライアント ライブラリをインストールしてテストしたので、次の優れたアプリケーションの作成を開始できます。

アプリケーションの開発を続けるうちに、問題が発生することがあります。その場合は、以下のリソースのリストをご覧ください。

ライブラリの優れた新機能をご提案いただく場合や、バグを見つけた場合は、ディスカッション グループにご記入ください。皆様からのフィードバックをお待ちしております。

よろしくお願いいたします。

付録: PYTHONPATH の変更

Python でパッケージまたはモジュールをインポートすると、インタープリタは PYTHONPATH 環境変数にリストされているすべてのディレクトリを含む一連の場所でファイルを探します。私はよく PYTHONPATH を変更して、使用しているライブラリのソースコードをコピーしたモジュールを指すようにしています。これにより、変更されたソースコードを含むディレクトリから Python がモジュールを直接読み込むため、モジュールを変更するたびにインストールする必要がなくなります。

クライアント ライブラリのコードを変更する場合や、システムに対する管理者権限がない場合は、PYTHONPATH アプローチをおすすめします。PYTHONPATH を編集することで、必要なモジュールを任意の場所に配置できます。

*nix および Mac OS X システムで PYTHONPATH を変更するには、.bashrc シェル構成ファイルで設定します。bash シェルを使用している場合は、次の行を ~/.bashrc ファイルに追加して変数を設定できます。

export PYTHONPATH=$PYTHONPATH:/home/<my_username>/svn/gdata-python-client/src

source ~/.bashrc を実行して、現在のシェル セッションに変更を適用できます。

Windows XP の場合は、[コントロール パネル] > [システムのプロパティ] > [詳細設定] > [環境変数] の順に選択して、プロファイルの環境変数を表示します。ここで、PYTHONPATH 変数を作成または編集して、ローカル ライブラリのコピーの場所を追加します。