AEM OpenAPI ベースのコンテンツフラグメント配信APIについて詳しく見る
AEMのAEM Content Fragment Delivery with OpenAPI APIは、構造化されたコンテンツをあらゆるアプリケーションまたはチャネルに配信するための強力な方法を提供します。 この章では、ドキュメントの Try It 機能を使用して、OpenAPIを使用してコンテンツフラグメントを取得する方法について説明します。
前提条件 prerequisites
これはマルチパートのチュートリアルで、 コンテンツフラグメントのオーサリング で説明した手順が完了していることを前提としています。
次の要素を備えていることを確認します。
- AEM パブリッシュサービスのホスト名(例:
https://publish-<PROGRAM_ID>-e<ENVIRONMENT_ID >.adobeaemcloud.com/)、 コンテンツフラグメントはに公開されます。 AEM Preview サービスを公開する場合は、そのホスト名を使用できます(例:https://preview-<PROGRAM_ID>-e<ENVIRONMENT_ID>.adobeaemcloud.com/)。
目的 objectives
- OpenAPI APIを使用したAEM コンテンツフラグメント配信について説明します。
- API Docsの Try It 機能を使用してAPIを呼び出します。
配信 API
OpenAPI APIを使用したAEM コンテンツフラグメント配信では、コンテンツフラグメントを取得するためのRESTful インターフェイスを提供します。 このチュートリアルで説明するAPIは、AEM パブリッシュおよびプレビューサービスでのみ使用でき、オーサーサービスでは使用できません。 AEM オーサーサービス 🔗で コンテンツフラグメントを操作するための他のOpenAPIがあります。
APIの詳細
AEM Content Fragment Delivery with OpenAPI APIs ドキュメント には、APIを検索してブラウザーから直接テストできる「Try It」機能があります。 これは、API エンドポイントとその機能に慣れるための優れた方法です。
ブラウザーでAEM Sites API ドキュメント を開きます。
APIは、フラグメント配信 セクションの左側のナビゲーションに一覧表示されます。 このセクションを展開すると、使用可能なAPIを確認できます。 APIを選択すると、メインパネルにAPIの詳細が表示され、右側のパネルにTry It セクションが表示され、ブラウザーから直接APIをテストして調査できます。
コンテンツフラグメントを一覧表示
- ブラウザーでAEM コンテンツフラグメント配信とOpenAPI デベロッパードキュメント を開きます。
- 左側のナビゲーションで、フラグメント配信 セクションを展開し、すべてのコンテンツフラグメントを一覧表示 APIを選択します
このAPIを使用すると、AEMからすべてのコンテンツフラグメントのページ分割リストをフォルダーごとに取得できます。 このAPIを使用する最も簡単な方法は、コンテンツフラグメントを含むフォルダーへのパスを提供することです。
- 右側のパネルの上部にある「試用」を選択します。
- APIが接続するAEM サービスのIDを入力して、コンテンツフラグメントを取得します。 バケットは、AEM パブリッシュ(またはプレビュー)サービス URLの最初の部分で、通常は
publish-p<PROGRAM_ID>-e<ENVIRONMENT_ID>またはpreview-p<PROGRAM_ID>-e<ENVIRONMENT_ID>の形式です。
AEM パブリッシュサービスを使用しているので、バケットをAEM パブリッシュサービス IDに設定します。 例:
- バケット:
publish-p138003-e1400351
バケットが設定されると、Target server フィールドは、次のようなAEM パブリッシュサービスの完全なAPI URLに自動的に更新されます。https://publish-p138003-e1400351.adobeaemcloud.com/adobe/contentFragments
-
「セキュリティ」セクションを展開し、セキュリティスキームを なし に設定します。 これは、AEM パブリッシュサービス(およびプレビューサービス)が、OpenAPI APIを使用したAEM コンテンツフラグメント配信の認証を必要としないためです。
-
「パラメーター」セクションを展開して、取得するコンテンツフラグメントの詳細を指定します。
-
カーソル:空のままにします。これはページ分割に使用され、これは最初のリクエストです。
-
limit:空のままにします。これは、結果のページごとに返される結果の数を制限するために使用されます。
-
パス:
/content/dam/my-project/ennote tip TIP パスを入力するときは、接頭辞が /content/dam/で、notが末尾にスラッシュ/が付いていることを確認してください。
-
「送信」ボタンを選択して、API呼び出しを実行します。
-
それを試す パネルの「応答」タブに、指定したフォルダー内のコンテンツフラグメントのリストを含むJSON応答が表示されます。 応答は次のようになります。
-
応答には、
pathパラメーターの/content/dam/my-projectフォルダーの下にあるすべてのコンテンツフラグメントが含まれます。サブフォルダーには、人物と チーム の両方のコンテンツフラグメントが含まれます。 -
items配列をクリックして、Team Alpha項目のid値を見つけます。 IDは、次の節で単一のコンテンツフラグメントの詳細を取得するために使用されます。 -
Try it パネルの上部にある Edit request を選択し、API呼び出しの様々なパラメーターを選択して、応答がどのように変化するかを確認します。 例えば、コンテンツフラグメントを含む別のフォルダーにパスを変更したり、クエリパラメーターを追加して結果をフィルタリングしたりできます。 例えば、
pathパラメーターを/content/dam/my-project/teamsに変更して、そのフォルダー(およびサブフォルダー)内のコンテンツフラグメントのみを変更します。
コンテンツフラグメントの詳細を取得
すべてのコンテンツフラグメントを一覧表示 APIと同様に、コンテンツフラグメントを取得 APIは、任意の参照と共に、IDで1つのコンテンツフラグメントを取得します。 このAPIを調べるには、複数の人物コンテンツフラグメントを参照するチームコンテンツフラグメントをリクエストします。
- 左側のパネルで「フラグメント配信」セクションを展開し、コンテンツフラグメントを取得 APIを選択します。
- 右側のパネルの上部にある「試用」を選択します。
- AEM as a Cloud Service パブリッシュまたはプレビューサービスへの
bucketポイントを確認します。 - 「セキュリティ」セクションを展開し、セキュリティスキームを なし に設定します。 これは、AEM パブリッシュサービスが、OpenAPIを使用したAEM コンテンツフラグメント配信の認証を必要としないためです。
- 「パラメーター」セクションを展開して、取得するコンテンツフラグメントの詳細を指定します。
この例では、前のセクションで取得したチームコンテンツフラグメントのIDを使用します。 例えば、すべてのコンテンツフラグメントを一覧表示のこのコンテンツフラグメント応答の場合、b954923a-0368-4fa2-93ea-2845f599f512のid フィールドの値を使用します。 (お使いのidは、チュートリアルで使用する値とは異なります)。
{
"path": "/content/dam/my-project/teams/team-alpha",
"name": "",
"title": "Team Alpha",
"id": "50f28a14-fec7-4783-a18f-2ce2dc017f55", // This is the Content Fragment ID
"description": "",
"model": {},
"fields": {}
}
- fragmentId:
50f28a14-fec7-4783-a18f-2ce2dc017f55 - 参照:
none - depth:空のままにすると、references パラメーターによって、参照されるフラグメントの深さが決まります。
- hydrated:空のままにすると、references パラメーターによって、参照されるフラグメントのハイドレーションが決まります。
- If-None-Match:空のままにする
-
「送信」ボタンを選択して、API呼び出しを実行します。
-
それを試す パネルの「応答」タブで応答を確認します。 コンテンツフラグメントのプロパティと参照を含む、コンテンツフラグメントの詳細を含むJSON応答が表示されます。
-
それを試す パネルの上部にある リクエストを編集 を選択し、パラメーター セクションで、
referencesパラメーターをall-hydratedに調整して、参照されているすべてのコンテンツフラグメントのコンテンツをAPI呼び出しに含めます。- fragmentId:
50f28a14-fec7-4783-a18f-2ce2dc017f55 - 参照:
all-hydrated - depth:空のままにすると、references パラメーターによって、参照されるフラグメントの深さが決まります。
- hydrated:空のままにすると、references パラメーターによって、参照されるフラグメントのハイドレーションが決まります。
- If-None-Match:空のままにする
- fragmentId:
-
「再送信」ボタンを選択して、API呼び出しを再度実行します。
-
それを試す パネルの「応答」タブで応答を確認します。 コンテンツフラグメントのプロパティと、参照される人物コンテンツフラグメントのプロパティを含む詳細を含むJSON応答が表示されます。
teamMembers配列に、参照された人物コンテンツフラグメントの詳細が含まれるようになりました。 参照をハイドレートすると、1回のAPI呼び出しで必要なすべてのデータを取得できます。これは、クライアントアプリケーションによるリクエスト数を減らすのに特に便利です。
おめでとうございます。
おめでとうございます。AEM ドキュメントの Try It 機能を使用して、OpenAPI API呼び出しを使用して、いくつかのAEM コンテンツフラグメント配信を作成し、実行しました。
次の手順
次の章「React アプリを構築する」では、外部アプリケーションがOpenAPIを使用してAEM Content Fragment Deliveryと対話する方法について説明します。