- この記事は、Google Drive™ APIに関する記事を和訳したものです。
- 原文: Python Quickstart
- 元記事のライセンスは CC-BYで、この和訳記事のライセンスは CC-BYです。
- 自己責任でご利用ください。
- 和訳した時期は 2019年6月ころです。
Drive APIにリクエストを行う単純な Pythonコマンドラインアプリケーションを作成するには、このページの残りの部分で説明されている手順を完了します。
前提条件
このクイックスタートを実行するには、次のものが必要でしょう:
- Python 2.6以上
- pipパッケージ管理ツール
- Google Driveが有効である Googleアカウント
Step 1: Drive APIをオンにする
新しい Cloud Platform projectを作成するためにこのボタンをクリックし、Drive APIを自動的に有効にします:
Drive APIを有効にする
ダイアログが表示されたら、DOWNLOAD CLIENT CONFIGURATIONをクリックし、あなたの作業ディレクトリにファイル credentials.json
を保存します。
Step 2: Google Client Libraryをインストールする
pipを使用してライブラリをインストールするには、次のコマンドを実行します:
pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
他のインストールオプションについては、ライブラリのインストールページを参照してください。
Step 3: サンプルをセットアップする
あなたの作業ディレクトリに、quickstart.py
と名付けられたファイルを作成し、次のコードをコピーします:
Step 4: サンプルを実行する
次のコマンドを使用してサンプルを実行します:
python quickstart.py
-
サンプルは、あなたのデフォルトブラウザにて新しいウインドウあるいはタブを開こうとするでしょう。 もしこれが失敗したならば、コンソールから URLをコピーし、手動であなたのブラウザにてそれを開きます。
もし、まだあなたの Googleアカウントにログインしていなければ、ログインを求められるでしょう。 もし、複数の Googleアカウントにログインしているならば、認証のために使用する 1つのアカウントを選択するよう求められるでしょう。
- Acceptボタンをクリックします。
- サンプルは自動的に進行するでしょう、そして、ウインドウ/タブを閉じても良いです。
ノート
- 認証情報は、ファイルシステム上に格納されるので、以降の実行では認証を求められないでしょう。
- この例の認証フローは、コマンドラインアプリケーションのためにデザインされています。 ウェブアプリケーションにて認証を実行する方法については、Using OAuth 2.0 for Web Server Applicationsを参照してください。
参考文献
- Google Developers Console help documentation
- Google APIs Client for Python documentation
- Drive API PyDoc documentation
- Drive REST API reference documentation
トラブルシューティング
このセクションでは、このクイックスタートを実行しようとしたときに遭遇するかもしれない、幾つかの一般的な問題について説明し、可能な解決策を提案します。
AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'
このエラーは、six
モジュール(このライブラリの依存関係)のデフォルトインストールが、pipがインストールされたものより前に読み込まれる場合に、Mac OSX上で発生する可能性があります。
この問題を解決するには、pipのインストール場所を PYTHONPATH
システム環境変数に追加します:
-
次のコマンドを用いて pipのインストール場所を決定します:
pip show six | grep "Location:" | cut -d " " -f2
-
あなたの
~/.bashrc
ファイルに以下の行を追加し、<pip_install_path>
を上記で決定した値に置換します:export PYTHONPATH=$PYTHONPATH:<pip_install_path>
-
次のコマンドを使用して、開いているターミナルウインドウにて、あなたの
~/.bashrc
ファイルをリロードします:source ~/.bashrc
TypeError: sequence item 0: expected str instance, bytes found
このエラーは httplib2
のバグによるもので、最新バージョンにアップグレードすることでそれを解決する必要があります:
pip install --upgrade httplib2
Cannot uninstall 'six'. It is a distutils installed project...
pip install
コマンドを実行するとき、次のエラーを受け取るかもしれません:
Cannot uninstall 'six'. It is a distutils installed project and thus we
cannot accurately determine which files belong to it which would lead to
only a partial uninstall.
これは、既にインストールされている six
パッケージをアップグレードしようとするとき、Mac OSX上で発生する可能性があります。
この問題を回避するには、Step 2にリストされた pip install
コマンドに、フラグ --ignore-installed six
を追加することができます。
This app isn't verified.
機密性の高いユーザデータへのアクセスを提供するスコープをリクエストしている場合、ユーザに表示される OAuth同意画面に、警告 "This app isn't verified" が表示されるかもしれません。 これらのアプリケーションは、その警告および他の制限を取り除くための検証プロセスを、最終的には通過しなければなりません。 開発段階では、Advanced > Go to {Project Name} (unsafe) をクリックすることによって、この警告を追加し続けることができます。