Assets HTTP API とコンテンツフラグメント

コンテンツフラグメントはヘッドレス配信に使用される、特別なタイプのアセットです。テキスト、数値、日付などの構造化データにアクセスするために使用されます。

Assets REST API の使用

アクセス

Assets REST API は /api/assets エンドポイントを使用しており、アクセスするにはアセットのパス(先頭の /content/dam を除く)が必要です。

  • つまり、次の場所のアセットにアクセスするには
    • /content/dam/path/to/asset
  • 次のリクエストが必要です。
    • /api/assets/path/to/asset

例えば、/content/dam/wknd/en/adventures/cycling-tuscany にアクセスするには、/api/assets/wknd/en/adventures/cycling-tuscany.json をリクエストします。

NOTE
アクセス経由:
  • /api/assets.model セレクターを使用する​ 必要はありません
  • /content/path/to/page.model セレクターを使用する​ 必要があります

操作

実行する操作は HTTP メソッドで決まります。

  • GET:アセットまたはフォルダーの JSON 表現を取得します
  • POST:新しいアセットまたはフォルダーを作成します
  • PUT:アセットまたはフォルダーのプロパティを更新します
  • DELETE:アセットまたはフォルダーを削除します
NOTE
リクエスト本文または URL パラメーターは、これらの操作の一部を設定するために使用できます。例えば、フォルダーまたはアセットを POST リクエストで作成するように定義できます。

サポートされているリクエストの正確な形式は、『API リファレンス』ドキュメントで定義されています。

使用方法は、特定の使用例以外にも、AEM オーサーを使用するかパブリッシュ環境を使用するかで異なることがあります。

  • 作成時にはオーサーインスタンスに結び付けることを強くお勧めします(現在は、この API を使用して公開するフラグメントをレプリケートする手段はありません)。

  • AEM は要求されたコンテンツを JSON 形式でのみ提供するので、どちらからも配信できます。

    • ファイアウォールの背後で動作するメディアライブラリアプリケーションには、AEM オーサーインスタンスからのストレージと配信で十分です。

    • ライブ web 配信の場合は、AEM パブリッシュインスタンスをお勧めします。

CAUTION
AEM インスタンス上の Dispatcher 設定により、/api へのアクセスがブロックされる場合があります。
NOTE
詳細については、『API リファレンス』を参照してください。特に、Adobe Experience Manager Assets API - コンテンツフラグメント

読み取り/配信

使用方法は次のとおりです。

GET /{cfParentPath}/{cfName}.json

次に例を示します。

http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json

応答は、コンテンツがコンテンツフラグメントに構造化されたシリアル化 JSON です。参照は参照 URL として配信されます。

次の 2 通りの読み取り操作が可能です。

  • 特定のコンテンツフラグメントをパスで読み取る。この場合は、コンテンツフラグメントの JSON 表現が返されます。
  • コンテンツフラグメントのフォルダーをパスで読み取る。この場合は、フォルダー内のすべてのコンテンツフラグメントの JSON 表現が返されます。

作成

使用方法は次のとおりです。

POST /{cfParentPath}/{cfName}

本文には、作成するコンテンツフラグメントの JSON 表現を含める必要があります。これには、コンテンツフラグメント要素に設定する必要がある初期コンテンツも含まれます。cq:model プロパティの設定が必須で、このプロパティが有効なコンテンツフラグメントモデルを指している必要があります。そうしないと、エラーが発生します。また、Content-Type ヘッダーを追加することも必要です。これは application/json に設定されます。

アップデート

使用方法は次のとおりです。

PUT /{cfParentPath}/{cfName}

本文には、特定コンテンツフラグメントの更新内容の JSON 表現を含める必要があります。

これには、コンテンツフラグメントのタイトルや説明、単一のエレメント、またはすべての要素値やメタデータを使用できます。

削除

使用方法は次のとおりです。

DELETE /{cfParentPath}/{cfName}

AEM Assets REST API の使用の詳細については、次を参照してください。

  • Adobe Experience Manager Assets HTTP API(その他のリソース)
  • AEM Assets HTTP API でのコンテンツフラグメントのサポート(その他のリソース)

次の手順

これで、ここでの AEM ヘッドレスデベロッパージャーニーは完了です。次ができるようになったはずです。

  • AEM Assets HTTP API の基本を理解する。
  • この API でコンテンツフラグメントがどのようにサポートされているかを理解する。

次に、「実際に AEM ヘッドレスプロジェクトをライブにする方法」のドキュメントを確認して、AEM ヘッドレスジャーニーを続けてください。

その他のリソース

前のページAEM Delivery API を使用してコンテンツにアクセスする方法
次のページアプリとコンテンツをすべて AEM ヘッドレスにまとめる方法

Experience Manager