Apigee API を使ってみる

Apigee Hybrid で Apigee API を使用してアプリケーションの開発を開始するには、以下のセクションに従います。

API を有効にする

Apigee API が有効になっていることを確認します。プロジェクトで API を有効にする最も簡単な方法は、Google Cloud Platform(GCP)Console を使用することです。詳細については、Apigee API サービスを有効にするをご覧ください。

OAuth 2.0 アクセス トークンを取得する

Apigee API は、OAuth 2.0 によるユーザー認証をサポートしています。OAuth 2.0 を利用することで、GCP 認証情報をアクセス トークンと交換し、そのトークンを使用して Apigee API を安全に呼び出すことができます。いったんトークンを取得すると、そのトークンの有効期限が切れるまで認証情報を再度交換する必要はありません。

OAuth 2.0 アクセス トークンを取得するには:

  1. サービス アカウント キーの作成と管理の説明に従い、GCP Console を使用してサービス アカウントのキーを生成します。

    サービス アカウント認証情報を含む JSON ファイルがパソコンにダウンロードされます。

  2. 次のいずれかの方法に従い、GCP 認証情報を使用して、Apigee API を呼び出す際に渡す OAuth 2.0 アクセス トークンを取得します。

    gcloud

    gcloud を使用して OAuth 2.0 アクセス トークンを取得します。その際、ステップ 1 でダウンロードしたサービス アカウント認証情報を含む JSON ファイルを GOOGLE_APPLICATION_CREDENTIALS 環境変数に設定します。詳細については、gcloud beta auth application-default print-access-token をご覧ください。

    export GOOGLE_APPLICATION_CREDENTIALS=~/sa-credentials-file.json
        gcloud auth application-default print-access-token

    oauth2l ユーティリティ

    oauth2l を使用して OAuth 2.0 アクセス トークンを取得します。その際、ステップ 1 でダウンロードしたサービス アカウント認証情報を含む JSON ファイルを渡します。

    oauth2l fetch --json ~/sa-credentials-file.json cloud-platform

    OAuth2.0 トークンが返されます。

  3. 返された OAuth 2.0 トークンをコピーし、TOKEN のような変数に格納します。次に例を示します。
    export TOKEN=ya29....Ts13inj3LrqMJlztwygtM
  4. Apigee API を呼び出すとき、この OAuth 2.0 アクセス トークンを Authorization ヘッダーで渡します。次に例を示します。
    curl "https://apigee.googleapis.com/v1/organizations/myorg/apis/myApiProxy" \
        -X GET \
        -H "Authorization: Bearer $TOKEN"

curl を使用する

このセクションの例では、curl を使用して、Apigee API を利用したアプリケーションを開発する方法を示します。curl は URL 構文を使用してデータを転送できるオープンソースのコマンドライン ツールで、HTTP や HTTPS などの一般的なプロトコルをサポートしています。

次の表に、以下の例で使用している curl コマンドライン オプションをまとめます。

オプション 説明
-d '{}' --data @filename
--data-binary @filename
リクエスト本文を定義します。リクエスト本文はコマンドに直接渡すか、ファイルに記述してそのファイル名を指定できます。
-F file=@filename
--form file=@filename
フォームベースのデータを定義します。このデータはコマンドに直接渡すか、ファイルに記述してそのファイル名を指定できます。
-H
--header
リクエスト ヘッダーを定義します。

次の情報をリクエスト ヘッダーで渡す必要があります。

  • Authorization ヘッダー: ユーザー認証用の OAuth 2.0 トークン。このトークンの取得方法については、OAuth 2.0 アクセス トークンを取得するをご覧ください。
  • Content-Type ヘッダー: API を使用してリソースを作成または更新(POST、PATCH、PUT)するときに送信されるリクエスト本文のコンテンツ タイプ。
-X リクエストのタイプを指定します(GET、POST など)。

次に例を示します。

curl "https://apigee.googleapis.com/v1/organizations/myorg/apis" \
    -X GET \
    -H "Authorization: Bearer $TOKEN"
    

ここで、$TOKEN には OAuth 2.0 アクセス トークンを設定します。このトークンの取得方法については、OAuth 2.0 アクセス トークンを取得するをご覧ください。