SmartDocs API リファレンス ドキュメントを閲覧するだけでなく、開発者は [この API を試す] パネルを使用できます。つまり、API ドキュメントを見ながらの API 操作が可能です。ポータルの中で、API にリクエストを送信して、そのレスポンスを見ることができます。API をポータルで試すことにより、API ユーザーは、API を使って自分のコードを動作させるために何をする必要かあるかを理解できます。
API に API キーまたは認証が必要な場合は、ユーザーが API を操作できるようにポータルを構成する必要があります。このページでは、デベロッパーが [この API を試す] を使用できるようにするために必要な要件と設定について説明します。また、それぞれのタスクを実行するために最低限必要な Identity and Access Management のロールについても説明します。IAM の権限について詳しくは、以下をご覧ください。
前提条件
- App Engine スタンダード環境に API をすでにデプロイしている必要があります。
gcloud app deploy
コマンドは、appspot.com
ドメインの DNS エントリを API 用に自動的に作成し、Endpoints Portal から到達できるようにします。 API に API キーが必要な場合は、次のようにします。
- Java: API キーで API アクセスを制限するで説明されているように、コードにアノテーションを付ける必要があります。
- Python: API キーで API アクセスを制限するで説明されているように、コードを修飾する必要があります。
API で認証が必要な場合は、次のようにします。
API Explorer 設定の構成
API で API キーや Firebase 認証または Auth0 認証が必要な場合、ユーザーが API を試用できるようにするには、次の設定を構成する必要があります。このセクションでは、API キーと認証設定の構成方法について説明します。
API キーを構成する
ポータルで API キーを構成するには:
Google Cloud Console で、[API とサービス] の [認証情報] に移動します。
Google Cloud コンソール ウィンドウ上部にある [プロジェクト] プルダウン リストで、API を作成した Google Cloud プロジェクトを選択します。
既存の API キーを使用する場合:
- 使用する API キーの横にある [API キーを編集] をクリックします。
- API キーの右にある [コピー] をクリックして、API キーをクリップボードにコピーします。
- [キャンセル] をクリックします。
API キーを作成する必要がある場合:
- [認証情報を作成] をクリックして [API キー] を選択します。
- キーをクリップボードにコピーします。
- [閉じる] をクリックします。
ポータルに戻ります。
[設定]
をクリックします。[API] タブをクリックし、プルダウン リストから API を選択します。
[APIs Explorer Settings] セクションで、API キーを [Google API key] フィールドに貼り付けます。
[Save] をクリックします。
Firebase を構成する
Firebase を構成するには:
Firebase コンソールを開きます。
既存の Firebase プロジェクトがない場合:
- [プロジェクトを追加] をクリックし、API が含まれている Google Cloud プロジェクト名を選択します。
- [Authentication] カードで [始める] をクリックします。
- [ログイン方法] タブをクリックします。
- [ログイン プロバイダ] セクションで、使用するプロバイダを有効にします。
- [承認済みドメイン] セクションで [ドメインの追加] をクリックして、ポータル ドメイン名(
endpointsportal.example-api.example.com
など)を追加します。 - [ウェブ設定] をクリックします。カスタマイズされたコード スニペットが表示されます。次の手順でコード スニペットの情報が必要となるので、Firebase コンソールは開いたままにしておきます。
既存の Firebase プロジェクトがある場合:
- [開発] > [Authentication] に移動します。
- [ログイン方法] タブをクリックします。
- [承認済みドメイン] セクションで [ドメインの追加] をクリックして、ポータル ドメイン名(
endpointsportal.example-api.example.com
など)を追加します。 - [ウェブ設定] をクリックします。カスタマイズされたコード スニペットが表示されます。次の手順でコード スニペットの情報が必要となるので、Firebase コンソールは開いたままにしておきます。
ブラウザで別のタブを開き、ポータルに移動します。
[設定]
をクリックします。[設定] ページで [API] タブをクリックし、プルダウン リストから API を選択します。
[APIs Explorer Settings] セクションで、次の操作を行います。
- Firebase コード スニペットから
apiKey
フィールドの値をコピーし、[Google API key] フィールドに貼り付けます。 - Firebase コード スニペットから
authDomain
フィールドの値をコピーし、[Firebase auth domain] フィールドに貼り付けます。
- Firebase コード スニペットから
[保存] をクリックします。
詳細については、Firebase のドキュメントをご覧ください。
Auth0 の構成
タスクの概要を示す次のリストに従って、Auth0 とポータルを構成します。
タスク 1.Cloud Endpoints サービス用の Auth0 API があることを確認します。
タスク 2.Auth0 アプリケーション設定を構成します。
タスク 3.ポータルで Auth0 設定を構成します。
タスク 1: Endpoints サービス用の Auth0 API があることを確認する
- Auth0 ダッシュボードにログインします。
左側のナビゲーション バーで [APIs] をクリックします。[API Audience] の形式が
https://SERVICE_NAME
(SERVICE_NAME
は自分の Endpoints サービスの名前)となっている場合、API がすでに作成済みです。次のタスクに進んで、Auth0 アプリケーション設定を構成してください。それ以外の場合は、次のように API を作成します。
- [+ Create API] をクリックします。
- 名前を入力します。
[Identifier] フィールドに、
https://SERVICE_NAME
の形式で URL を入力します。SERVICE_NAME
は、Endpoints サービスの名前に置き換えます。サービス名がわからない場合は、サービス名と構成 ID の取得を参照して Endpoints サービスの名前を確認してください。[Create] をクリックします。
タスク 2: Auth0 アプリケーション設定を構成する
- Auth0 ダッシュボードで、左側のナビゲーション バーにある [Applications] をクリックします。
- 既存の Auth0 アプリケーションを選択するか、[+ Create Application] をクリックして新規に作成します。
アプリケーションの [Settings] タブを開いて下にスクロールし、[Allowed Callback URLs] フィールドにポータルの OAuth リダイレクト URL を追加します。ポータルの OAuth リダイレクト URL はポータルの URL と
/oauth/redirect
です(たとえば、https://endpointsportal.example-api.example.com/oauth/redirect
)。[Allowed Callback URLs] フィールドには複数の URL をカンマで区切って指定できます。入力した URL の末尾に
/
文字を含めないでください。[Save Changes] をクリックします。
Auth0 の [Settings] ブラウザタブを開いたままにしておきます。次の手順でこのタブの情報が必要となります。
タスク 3: ポータルで Auth0 設定を構成する
- ブラウザで別のタブを開き、ポータルに移動します。
- [設定] をクリックします。
- [設定] ページで [API] タブをクリックし、プルダウン リストから API を選択します。
[APIs Explorer Settings] セクションで、次の操作を行います。
- Auth0 ダッシュボードの [Client ID] フィールドの値をコピーし、[Auth0 client ID] フィールドに貼り付けます。
- Auth0 ダッシュボードの [Domain] フィールドの値をコピーし、[Auth0 domain] フィールドに貼り付けます。
[Save] をクリックします。
Auth0 を構成する方法については、Auth0 ドキュメントの Auth0 ダッシュボードの概要をご覧ください。