認証と認可に関する問題のトラブルシューティング

このページでは、認証と認可に関連して発生する可能性のある一般的な問題について説明します。

This app isn't verified

OAuth 同意画面に「このアプリは確認されていません」という警告が表示される場合は、アプリが機密性の高いユーザーデータへのアクセスを提供するスコープをリクエストしています。アプリケーションでプライベート データにかかわるスコープを使用している場合は、その警告やその他の制限を解除するために、アプリで検証手続きを行う必要があります。開発フェーズでは、[詳細設定] > [{プロジェクト名} に移動(安全でない)] を選択して、この警告を無視できます。

File not found error for credentials.json

コードサンプルを実行すると、credentials.json に関する「ファイルが見つかりません」または「そのようなファイルはありません」というエラー メッセージが表示されることがあります。

このエラーは、デスクトップ アプリケーションの認証情報を承認していない場合に発生します。デスクトップ アプリケーションの認証情報を作成する方法については、認証情報を作成するをご覧ください。

認証情報を作成したら、ダウンロードした JSON ファイルが credentials.json として保存されていることを確認します。ファイルを作業ディレクトリに移動します。

Token has been expired or revoked

コードサンプルを実行すると、「Token has been expired」または「Token has been revoked」というエラー メッセージが表示されることがあります。

このエラーは、Google 認証サーバーのアクセス トークンが期限切れになったか、取り消された場合に発生します。考えられる原因と解決策については、更新トークンの有効期限をご覧ください。

Python エラー

一般的な Python エラーは次のとおりです。

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

このエラーは、Mac OSX で発生することがあります。このエラーは、six モジュール(Python ライブラリの依存関係)のデフォルトのインストールが、pip でインストールされたものより先に読み込まれる場合に発生します。この問題を解決するには、pip のインストール場所を PYTHONPATH システム環境変数に追加します。

  1. pip のインストール場所を確認します。

    pip show six | grep "Location:" | cut -d " " -f2
    

    この場所は次のステップで必要になるため、メモしておきます。

  2. ~/.bashrc ファイルに次の行を追加します。INSTALL_PATH は、前の手順で確認した場所に置き換えます。

    export PYTHONPATH=$PYTHONPATH:INSTALL_PATH
    
  3. ~/.bashrc ファイルを再読み込みします。

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

このエラーは、httplib2 のバグが原因です。この問題を解決するには、httplib2 の最新バージョンにアップグレードします。

pip install --upgrade httplib2

Cannot uninstall 'six'

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.

このエラーは、pip がプリインストールされた six パッケージをアップグレードしようとしたときに Mac OSX で発生します。この問題を回避するには、pip install コマンドに --ignore-installed six フラグを追加します。