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

Google Data API チーム 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 実行ファイルがローカル ディレクトリに作成されます。root 権限がない場合や、ホーム ディレクトリから Python を使用する場合は、ここで停止できます。このディレクトリから Python を実行できるため、PATH 環境変数に追加します。
  5. ほとんどの Python スクリプトがインタープリタを検索する /usr/bin/ に Python をインストールしたいと思います。root 権限がある場合は、root として make install を実行します。これにより、Python がデフォルトの場所にインストールされ、マシン上のすべてのユーザーが使用できるようになります。
  6. ターミナルを開いて python -V を実行し、想定どおりにインストールされるかどうかを確認します。

依存関係のインストール

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

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

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

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

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

Google データ ライブラリのインストール

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

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

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

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

  • 最後のオプションとして、python の実行時に、gdata ディレクトリと atom ディレクトリを src ディレクトリから任意のディレクトリにコピーします。インポートを実行すると、Python によって現在のディレクトリが参照されます。ただし、素早く簡単なものを作成しない限り、この方法はおすすめしません。

Google データ ライブラリをインストールしたら、そのライブラリを使用して試乗できます。

テストとサンプルの実行

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 を編集することにより、必要なモジュールを任意の場所に配置できます。

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

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

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

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