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

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

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

JavaScript エラー

一般的な JavaScript エラーを次に示します。

Error: origin_mismatch

このエラーは、承認フローで発生します。エラーの原因は、ウェブページの配信に使用されるホストとポートが Google Cloud コンソール プロジェクトで指定されている JavaScript 生成元と一致しないことです。承認済みの JavaScript 生成元を設定し、ブラウザの URL が生成元の URL と一致していることを確認してください。

idpiframe_initialization_failed: Failed to read the 'localStorage' property from 'Window'

このエラーは、ブラウザでサードパーティの Cookie とデータ ストレージが有効になっていない場合に発生します。これらのオプションは、Google ログイン ライブラリで必要です。詳しくは、サードパーティの Cookie とデータ ストレージをご覧ください。

idpiframe_initialization_failed: Not a valid origin for the client

このエラーは、登録されたドメインがウェブページのホストに使用されているドメインと一致しない場合に発生します。登録したオリジンがブラウザの URL と一致していることを確認します。

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 フラグを追加します。