OAuth を使用する

Pollen API では、認証に OAuth 2.0 を使用できます。 Google は、ウェブサーバー向けの OAuth 2.0 の一般的なシナリオをサポートしています。

このドキュメントでは、 開発環境にデプロイできます。Google Cloud コンソールで OAuth を使用する手順については、 production 環境については、以下をご覧ください。 Google での認証

始める前に

Pollen API を使い始める前に、次のことを行う必要があります。 請求先アカウントと Pollen API が有効になったプロジェクト。複数のメディアマシンで プロジェクト オーナーと課金管理者(常にこれらのロールを持つ担当者を確保) チームで利用できることです詳しくは、Google Cloud Console でセットアップするをご覧ください。

OAuth について

デプロイに基づいてさまざまな方法で OAuth でアクセス トークンを作成、管理 できます。

たとえば、Google OAuth 2.0 システムは、 Google サービス間で通信を行えます。このシナリオではサービス アカウントが必要です。 個々のエンドユーザーではなくアプリケーションに属すアカウントです。お客様の アプリケーションがサービス アカウントに代わって Google API を呼び出すため、ユーザーが直接関与することはありません。 認証方法の詳細については、以下をご覧ください。 Google での認証

また、Android または iOS のモバイルアプリの一部として Pollen API を使用することもできます。 管理に関する情報など、Pollen API での OAuth の使用に関する一般的な情報については、 異なるデプロイ環境用のアクセス トークンについては、 OAuth 2.0 を使用した Google API へのアクセス

OAuth スコープについて

Pollen API で OAuth を使用するには、OAuth トークンにスコープを割り当てる必要があります。

  • https://www.googleapis.com/auth/cloud-platform

例: ローカル開発環境で REST API 呼び出しを試す

OAuth トークンを使用して Pollen API を試したいが、環境がない場合 トークンを生成するために、このセクションの手順に沿って呼び出しを行います。

この例では、Google Cloud で提供されている OAuth トークンを アプリケーションのデフォルト認証情報(ADC) クリックします。ADC を使用してクライアント ライブラリから Google API を呼び出す方法については、以下をご覧ください。 クライアント ライブラリを使用して認証する

前提条件

ADC を使用して REST リクエストを行う前に、Google Cloud CLI を使用してください。 認証情報を ADC に提供します。

  1. まだプロジェクトを作成していない場合は、プロジェクトを作成し、 Google Cloud コンソールでセットアップする
  2. gcloud CLI をインストールして初期化します
  3. ローカルマシンで次の gcloud コマンドを実行して、 認証情報ファイル:

    gcloud auth application-default login
  4. ログイン画面が表示されます。ログインすると、認証情報が ADC で使用されるローカル認証情報ファイル

詳細については、次をご覧ください: ローカル開発環境 セクション( アプリケーションのデフォルト認証情報に認証情報を提供する ご覧ください

REST リクエストを行う

この例では、2 つのリクエスト ヘッダーを渡します。

次の例では、OAuth トークンを使用して Pollen API を呼び出します。

curl -X POST
-H "Content-Type: application/json"
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)"
-H "X-Goog-User-Project: PROJECT_ID" -d '{
  "location": {
    "latitude": 32.62782385865436,
    "longitude": 35.02197334774893
    }
  }'
"https://pollen.googleapis.com/v1/forecast:lookup"

トラブルシューティング

この API でサポートされていないエンドユーザー認証情報に関するエラー メッセージがリクエストから返された場合は、 ユーザー認証情報が機能しないをご覧ください。