アプリ登録の構成

デベロッパーがアプリを登録するには Developer Services ポータル上の [My Apps] ページを使用します。 [My Apps] ページにはポータルのメインメニューからアクセスします。

新しいアプリを登録するには、[My Apps] ページ上の [Add a new app] ボタンを選択します。

ポータルにデフォルトのアプリ登録フォームが表示されます。

アプリを追加する際にデフォルトで指定が必要な内容は、アプリ名、コールバック URL、アプリを追加する API プロダクトのリストのみです。

API プロバイダは、アプリの登録プロセスを完全に制御できます。構成できる内容には次のようなものがあります。

  • ポータル上で使用可能な API プロダクトのリスト
  • デフォルトの API プロダクトがあるかどうか
  • コールバック URL が必要かどうか
  • API プロダクトに対して API キーが手動で承認されるか、自動的に承認されるか
  • アプリを登録するために [Add App] ページ上でその他の情報を必要とするかどうか

このトピックでは、ポータルのアプリ登録プロセスを構成する方法について説明します。ただし、API プロダクトを作成する方法については説明しません。詳細については、次を参照してください。

デベロッパーに割り当てられている役割に基づいて、アプリの作成、削除、または編集を禁止するようににポータルを構成することができます。たとえば、デベロッパー登録の際に、単一のデフォルト アプリを作成するようにポータルを構成したとします。この場合、たとえばデベロッパーの料金体系やその他の特性に基づいて、一部のデベロッパーにのみ、新しいアプリを追加することを許可できます。役割と権限を使用して、どのデベロッパーがアプリを作成、削除、編集できるかを制御できます。詳細については、ユーザー アカウントの追加と管理をご覧ください。

ポータル上で使用可能な API プロダクトの指定

デベロッパーがポータルにアクセスしたときに使用可能な API プロダクトを指定できる方法は 2 つあります。

API プロダクト作成時のアクセスレベルの指定

API プロダクトを作成するときは、次に示すように、プロダクトのアクセスレベル オプションを指定します。

Drupal 7 デベロッパー ポータルでアクセスレベルが API プロダクトの可用性にどのように影響を与えるかについて詳しくは、アクセスレベルをご覧ください。

ロールに基づいた API プロダクトへのアクセスの制限

Drupal モジュール API Product Role Access を有効にすることで、各 API プロダクトにアクセスできる役割を指定できます。

デベロッパーの役割に基づいて API プロダクトへのアクセスを制限するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. デベロッパー ポータルの役割とユーザー割り当てを確認します。
    • Drupal の管理メニューで、[People] > [Permissions] > [Roles] の順に選択し、必要に応じて、デベロッパーの役割や権限を追加または編集します。
    • Drupal の管理メニューで、[People] を選択し、必要に応じて、ユーザーや役割の割り当てを編集します。
  3. Drupal の管理メニューで、[Configuration] > [Dev Portal] > [API Product Role Access] を選択します。
  4. 各 API プロダクトにアクセスできるようにする役割を選択します。
  5. [Save configuration] をクリックします。

デベロッパーが API プロダクトをアプリに関連付ける方法の構成

新しいアプリを登録する場合、デベロッパーは、[My Apps] ページ上の [Add a new app] ボタンを選択して、[Add App] フォームを開きます。

ポータルを構成する方法に基づいて、デベロッパーはアプリ登録時に、アプリに関連付ける API プロダクトを 1 つ以上選択できます。また、すべてのアプリに割り当てるデフォルトのプロダクトを指定することもできます。

ポータル上では、アプリの登録時に API プロダクトの選択を制御する次の構成オプションを使用できます。

  • Do not associate apps with any API Product
  • Associate all apps with one or more Default API Products (configured below)。デベロッパーは、アプリを他のどの API プロダクトにも追加できません。
  • Allow selection of a single API product, but do not require it
  • Require selection of a single API product
  • Allow selection of multiple API Products, but do not require any
  • Allow selection of multiple API Products, and require at least one

デベロッパーが API プロダクトを選択するために使用するフォームに表示される HTML 要素を制御することもできます。以下のオプションがあります。

  • プルダウン リスト。
  • チェックボックスまたはラジオボタン。デベロッパーが API プロダクトを複数選択できるときはチェックボックスが表示され、デベロッパーが API プロダクトを 1 つしか選択できないときはラジオボタンが表示されます。

API プロダクトの選択用のオプションを設定するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal の管理メニューで、[Configuration] > [Dev Portal Settings] > [Application Attributes] の順に選択します。
  3. [Application Settings] ページで、[API Product settings] 領域を展開します。
  4. [API Product Handling] で、API プロダクトの選択を制御するオプションを選択します。
  5. オプション [Associate all apps with one or more Default API Products (configured below)] を指定した場合は、[Default API Product] で、デフォルトのプロダクトを設定します。
  6. [API Product Widget] で、デベロッパーが API プロダクトを選択するために使用する HTML 要素を選択します。
  7. 構成を保存します。

コールバック URL の処理を構成する

API プロダクトの API プロキシで「Three-legged OAuth」(認可コード権限付与タイプ)を使用する場合、デベロッパーはアプリの登録時にコールバック URL を指定する必要があります。通常はコールバック URL で、クライアント アプリに代わって認可コードを受け取るアプリの URL を指定します。この URL 文字列は、検証の際にも使用されます。クライアントが認可コードとアクセス トークンをリクエストするときは、この URL を Apigee Edge に送信する必要があります。また、redirect_uri パラメータの値が、登録されているリダイレクト URI のいずれかと一致している必要もあります。詳しくは、認可コード権限付与タイプを実装するをご覧ください。

API プロダクトの選択用のコールバック URL を制御するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal の管理メニューで、[Configuration] > [Dev Portal Settings] > [Application Attributes] の順に選択します。
  3. [Application Settings] ページで、[Callback URL settings] 領域を展開します。
  4. [Callback URL Handling] で、次のいずれかのオプションを選択します。
    • Callback URL is required for all developer apps
    • Callback URL is optional for all developer apps
    • Callback URL is neither required nor displayed
  5. 構成を保存します。

アプリの使用状況の分析を表示する

ポータルは、アプリの使用状況に関する分析情報を表示できます。分析の表示が有効になっている場合、アプリのデベロッパーは、各アプリについて [My Apps] ページ上で分析を確認できます。たとえば、デベロッパーはアプリについて次のような分析を表示できます。

  • スループット
  • 最大応答時間
  • 最小応答時間
  • メッセージ数
  • エラー件数

ポータル上で分析を有効にするには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal の管理メニューで、[Configuration] > [Dev Portal] > [Application Settings] の順に選択します。
  3. [Application Settings] ページで、[App performance settings] 領域を展開します。
  4. [Show Developer App analytics tab] チェックボックスをオンにします。
  5. [Environment to query for analytics data] に対して、[Test] または [Production] のいずれかを選択します。公開されているポータルの場合、通常は [Production] を選択します。
  6. 構成を保存します。

アプリについてポータル上に分析を表示するには:

  1. [My Apps] ページで、アプリ名を選択します。
  2. アプリの [Analytics] リンクを選択します。
  3. 次のように、表示する分析のタイプと日付範囲を選択します。
  4. 次のように、選択した情報が表示されます。

API プロダクトの API キーを手動で承認する、または取り消す

デベロッパーが API プロダクトをアプリに追加し、アプリを登録すると、ポータルからそのアプリの API キーが返されます。デベロッパーは、この API キーを使用して、アプリに関連付けられている API プロダクトでバンドルされている API プロキシにアクセスします。

API プロダクトを作成するときは、API プロダクトごとに次のようにキー承認プロセスを制御します。

承認プロセスは、次のうちいずれかとなります。

  • Automatic - デベロッパーがアプリを登録すると、ポータルから API プロダクト用の承認された API キーが返されます。後で、自動的に承認されたキーを取り消すことができます。
  • Manual - デベロッパーがアプリを登録すると、ポータルから API キーが返されますが、そのキーは、「Manual」のキー承認を使用するどの API プロダクト用にもアクティブ化されていません。管理者は、デベロッパーが API キーを使用して API プロダクトにアクセスできるように、Edge 管理 UI または API のいずれかで API キーを手動で承認する必要があります。後で、手動で承認されたキーを取り消すことができます。

詳細については、API プロダクトを作成するをご覧ください。

ポータルで複数の API プロダクトをアプリに追加できるように設定している場合、デベロッパーがキー承認「Automatic」のプロダクトと、「Manual」のプロダクトをそれぞれ追加することがあります。デベロッパーは、自動的に承認されたすべての API プロダクト用に返された API キーを使用できる一方、「Manual」の承認が必要なプロダクトの最終承認を待つことになります。

デベロッパーが特定のアプリについての API プロダクトのリストと、API プロダクトのキー承認のステータスを確認するには、[My Apps] ページでアプリの名前を選択し、[Products] リンクを選択します。

この例で Premium Weather API プロダクトは「Manual」の承認を使用しており、管理者がキーを承認するのを待っています。Free API Product は、「Automatic」の承認を使用しており、アクセスするためのキーの使用が承認されています。

キーを手動で承認する、または取り消すには:

  1. Edge 管理 UI に、組織の管理権限を持つユーザーとしてログインします。
  2. 右上隅のプルダウン ボックスで、[API Platform] を選択します。
  3. [Publish] > [Developer apps] の順に選択して、デベロッパー アプリのリストを開きます。
  4. [Pending] ボタンを選択して、保留中のキーリクエストがあるアプリのリストを確認します。

  5. 承認するアプリ名を選択します。
  6. アプリ詳細ページの右上隅で、[Edit] ボタンを選択します。
  7. アプリについての API プロダクトのリストの [Actions] で、次のようにします。
    • キーを承認するには、手動の承認が必要な各 API プロダクトの [Approve] ボタンを選択します。

    • 承認されたキーを取り消すには、[Actions] で、アクセスを取り消す API プロダクトの [Revoke] ボタンを選択します。

  8. アプリを保存します。これで、API キーが承認されました。

API プロダクトとアプリのキャッシュ処理を制御する

API プロダクトとデベロッパー アプリに関する情報は、ポータルから離れた Apigee Edge 上に格納されます。これは、API プロダクトやアプリへの変更をポータルではなく Edge UI または API を使用して実行できることを意味します。たとえば、バックエンド管理者が新しい API プロダクトを追加しても、ポータルがその情報で直ちに更新されるわけではありません。

ポータルが Edge のバックエンドと同期した状態を維持するには、ポータル キャッシュの更新を手動でトリガーすることも、ポータルの cron ジョブが実行されるときにキャッシュを自動的に更新することもできます。また、両方を行うこともできます。たとえば、5 分ごとや 10 分ごとなど、cron ジョブを頻繁に実行するように構成している場合、API プロダクトとデベロッパー アプリのキャッシュを同時に更新することによって生じるオーバーヘッドは望ましくないかもしれません。このような状況では、キャッシュ更新を手動でトリガーできます。ただし、cron ジョブが 1 時間ごとや 2 時間ごとに実行される場合、これらのキャッシュを更新に要する時間がそれほど問題にならないこともあります。

デフォルトでは、ポータルは、cron が実行されるたびに API プロダクトとデベロッパー アプリのキャッシュを再構築するように構成されています。

cron が実行されるたびに API プロダクトとデベロッパー アプリのキャッシュを再構築するかどうかを指定するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal のメニューで、[Configuration] > [Dev Portal Settings] > [Application Settings] を選択します。
  3. [Rebuild API Product and Developer App caches every time cron runs] をオンまたはオフにします。
  4. 設定を保存します。

キャッシュを手動で更新するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal のメニューで、[Home] アイコン > [Flush all caches] の順に選択します。

アプリの登録に使用するフォーム項目をカスタマイズする

デベロッパーがアプリを登録するとき、ポータルにデフォルトのフォームが表示されます。

API プロバイダは、このフォームを、デベロッパーに顧客 ID、アプリのターゲット プラットフォーム、その他の情報など、追加の情報の入力を促すように変更できます。ポータルには、このフォームに新しい項目を追加する機能が用意されています。これらの項目には、次の操作を行うことができます。

  • 必須または省略可能にする
  • テキスト ボックス、ラジオボタン、チェックボックスなど、さまざまな HTML 要素で表示する
  • フォーム上の [Callback URL] 項目と [Product] 項目の間の任意の場所に表示するように設定する

デベロッパー ポータルから利用可能なアプリ登録フォームをカスタマイズする方法については、この動画をご覧ください。

たとえば、次のフォームには、顧客 ID 用の必須項目と、ターゲット プラットフォーム用の省略可能な項目が表示されています。

フォームに新しい項目を追加すると、デベロッパーがフォームを送信したときに、その項目値が、他のすべての項目とともに Edge に自動的にアップロードされます。これは、Edge 上でその項目を表示、変更したり、スクリプトから Edge 管理 API を使用してその項目にアクセスしたりできることを意味します。

たとえば、[Publish] > [Developer Apps] の順に移動し、アプリ名を選択して、Edge 管理 UI で新しいフォーム項目を表示します。新しい項目値は、項目の内部名に対応する名前のページの [Custom Attributes] 領域に表示されます。

項目値は、デベロッパーの [My Apps] ページ上のアプリの [Details] 領域にも表示されます。

デベロッパーは、[My Apps] ページ上のアプリの [Edit] リンクを選択して値を編集することもできます。

次の手順では、管理者インターフェースを使用してアプリ作成フォームを構成する方法について説明します。Drupal デベロッパーは、[My Apps] ページを変更するなど、カスタムフックを使用して追加カスタマイズを実行できます。コードを通じて動作を変更する方法の詳細については、次のファイルにある、アプリの API の例をご覧ください。/profiles/apigee/modules/custom/devconnect/devconnect_developer_apps/devconnect_developer_apps.api.php

アプリ登録フォームに項目を追加するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. DevConnect App Attribute Management モジュールが有効になっていることを確認します。
  3. Drupal の管理メニューで、[Configuration] > [Dev Portal Settings] > [Dev Portal App Attributes] の順に選択します。
  4. ページの上部にある [Add Dev Portal App Attribute] ボタンを選択します。
  5. 項目を構成します。たとえば、上に示している [Customer ID] 項目の場合は、次の設定を使用します。
    • Internal Name = cust_id。項目値を格納するために使用される変数の名前です。
    • Public Name = Customer ID
    • Description = 顧客 ID を入力します。
    • [Require this attribute] チェックボックスをオンにします。
    • [Display this attribute] チェックボックスをオンにします。
    • Widget = Text Box
    • [Save] を選択して、[Dev Portal App Attributes] ページに戻ります。
  6. [Save Changes] を選択します。
  7. Drupal のメニューで、[Home] アイコン > [Flush all caches] の順に選択します。
    フォームに新しい項目が表示される前にブラウザ キャッシュのクリアが必要になる場合があります。

デベロッパーがアプリのプラットフォームを指定するための省略可能な項目を追加するには、項目属性を次のように設定します。

  • Internal Name = intended_platforms
  • Public Name = Platforms
  • Description = アプリのプラットフォームを 1 つ以上指定します。
  • [Require this attribute] チェックボックスをオフにします。
  • [Display this attribute] チェックボックスをオンにします。
  • Widget = List of Checkboxes
  • [Save] を選択して、[Dev Portal App Attributes] ページに戻ります。

フォーム上の属性の順序を変更するには:

  1. 管理者権限またはコンテンツ作成権限を持つユーザーとしてポータルにログインします。
  2. Drupal の管理メニューで、[Configuration] > [Dev Portal Settings] > [Dev Portal App Attributes] の順に選択します。
  3. [Name] 列の下のプラス(+)記号を選択し、プロパティをフォーム内の表示する場所にドラッグします。
  4. 変更を保存します。