AEM API の概要 aem-apis-overview

Adobe Experience Manager(AEM)の様々なタイプの API について学習し、統合用に選択する API を理解します。

AEM でコンテンツ、アセット、フォームを作成、読み取り、更新、削除するために、開発者は様々な API を使用できます。これらの API により、開発者は AEM とやり取りするカスタムアプリケーションを作成できます。

AEM の様々なタイプの API を探索し、統合用に選択する API を理解しましょう。

AEM API のタイプ types-of-aem-apis

AEM は、オーサーサービスとパブリッシュサービスのタイプとやり取りするための次の API を提供します。

AEM API タイプ
説明
入手方法
ユースケース
API の例
OpenAPI ベースの AEM API
アセット、Sites およびフォーム用の標準化された機械読み取り可能な API。
AEM as a Cloud Service のみ
API ファースト開発、最新のアプリケーション
Assets Author APIフォルダー APIAEM Sites APIフォームドキュメントサービス API、その他
RESTful API
AEM リソースとやり取りするための従来の REST エンドポイント。
AEM 6.X、AEM as a Cloud Service
CRUD 操作、最新のアプリケーション
アセット HTTP APIワークフロー REST APIコンテンツサービス用の JSON エクスポーターなど
GraphQL API
柔軟なクエリを使用して構造化コンテンツを効率的に取得するために最適化されています。
AEM 6.X、AEM as a Cloud Service
ヘッドレス CMS、SPA、モバイルアプリ
GraphQL API
従来の(非 RESTful)API
JCR、Sling Model、Query Builder などの古い API。
AEM 6.X、AEM as a Cloud Service
レガシー統合、下位互換性
Query Builder API など

詳しくは、Adobe Experience Manager as a Cloud Service API ページを参照してください。

選択する API which-api-to-choose

統合用の API を選択する際には、次の要因を考慮します。

  • ユースケース:AEM API がユースケースをサポートしているかどうかを判断します。可能な限り、AEM とやり取りするための標準化された最新のアプローチを提供する OpenAPI ベースの AEM API を使用 ​します。OpenAPI ベースの API を利用できない場合は、RESTful API またはGraphQL API を使用し、最後の手段として従来の API を使用することを検討します。

  • 互換性:選択した API が AEM のバージョンと互換性があることを確認します。例えば、OpenAPI ベースの AEM API は AEM as a Cloud Service 専用 ​で、AEM 6.X では使用できません。

  • AEM サービスのタイプ:オーサーとパブリッシュ:アクセスモデルが異なるので、API の選択もオーサーサービスとパブリッシュサービスのどちらで実行されるかによって異なります。AEM オーサーサービスは、コンテンツの作成に使用され、常に認証が必要です。AEM パブリッシュサービスはコンテンツ配信に使用され、ユースケースによっては認証が不要な場合があります。

  • 認証:使用する認証方法を API がサポートしていることを確認します。例:

    • OpenAPI ベースの AEM API:クライアント資格情報(サーバー間)、認証コード(web アプリ)、コード交換のプルーフキー(単一ページアプリ)付与タイプなど、OAuth 2.0 認証をサポートします。その他の AEM API は、OAuth 2.0 認証をサポートしていません。
    • RESTful API:JSON web トークン(JWT)認証をサポートし、トークンベースの認証としても認識されています。

JSON web トークン(JWT)と OAuth 2.0 の違い difference-between-jwt-and-oauth

AEM API で使用される 2 つの一般的な認証メカニズムである、JSON web トークン(JWT)と OAuth 2.0 を比較します。

機能
JSON web トークン(JWT)
OAuth 2.0
使用場所
RESTful API
OpenAPI ベースの AEM API(RESTful API やその他の API ではサポートされていません)
目的
サービス認証
ユーザーまたはサービスの認証
ユーザーインタラクション
ユーザーインタラクションは不要
認証コードおよび単一ページアプリ付与タイプに必要なユーザーインタラクション
最適な用途
サーバー間 API 呼び出し
アプリおよびユーザーのための安全で許可されたアクセス
必要な情報
JWT に署名するための秘密鍵
OAuth 2.0 用のクライアント ID とクライアント秘密鍵
トークンの有効期限
短時間のみ有効(多くの場合、更新が必要)
アクセストークンは短時間のみ有効です。更新トークンは長期間有効で、新しいアクセストークンの取得に使用されます
資格情報管理
AEM Developer Console
Adobe Developer Console

OpenAPI ベースの AEM API

OpenAPI ベースの AEM API と、Adobe API へのアクセスに関する重要な概念について詳しくは、OpenAPI ベースの AEM API ガイドを参照してください。

ユースケース

サーバー間認証を使用した API の呼び出し

サーバー間認証を使用した API の呼び出し

OAuth サーバー間認証を使用して、カスタム NodeJS アプリケーションから OpenAPI ベースの AEM API を呼び出す方法を説明します。

詳細情報

Web アプリ認証を使用した API の呼び出し

Web アプリ認証を使用した API の呼び出し

OAuth web アプリ認証を使用して、カスタム web アプリケーションから OpenAPI ベースの AEM API を呼び出す方法を説明します。

詳細情報

OAuth 単一ページアプリを使用した API の呼び出し

OAuth 単一ページアプリを使用した API の呼び出し

OAuth 2.0 PKCE フローを使用して、カスタム単一ページアプリ(SPA)から OpenAPI ベースの AEM API を呼び出す方法を説明します。

詳細情報

GraphQL API - 例

GraphQL API とその使用方法について詳しくは、AEM ヘッドレス - GraphQL の概要を参照してください

ユースケース

単一ページアプリケーション(SPA)

単一ページアプリケーション(SPA)

GraphQL API を使用して AEM からコンテンツを取得する単一ページアプリケーション(SPA)を作成する方法を説明します。

詳細情報

モバイルアプリ

モバイルアプリ

GraphQL API を使用して AEM からコンテンツを取得するモバイルアプリを作成する方法を説明します。

詳細情報

Web コンポーネント

Web コンポーネント

GraphQL API を使用して AEM からコンテンツを取得する web コンポーネントを作成する方法を説明します。

詳細情報

RESTful API - 例

Assets HTTP APIJSON エクスポーターなどの RESTful API の詳細を説明します。

ユースケース

ヘッドレスアプリ用のコンテンツサービスの使用

ヘッドレスアプリ用のコンテンツサービスの使用

コンテンツサービス RESTful API を使用して、AEM からコンテンツを取得するネイティブモバイルアプリを作成する方法を説明します。

詳細情報

RESTful API のトークンベースの認証

RESTful API のトークンベースの認証

JSON web トークン(JWT)認証を使用して RESTful API を呼び出す方法を説明します。

詳細情報

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69