Consuming APIs
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

外部参照コードの使用

Liferay DXP/ポータル 7.4 以上

Liferay のヘッドレス API エンドポイントの多くは、外部参照コード (ERC) をサポートしています。 ERC フィールドは、幅広いシナリオで役立ちます。 たとえば、コンテンツを Liferay に移行する場合、別のシステムからの一意の参照 ID を ERC フィールドに保持できます。 または、ERC を使用して、サイト コンテンツに人間が読めるキーを設定します。 たとえば、Liferay は作成されたブログ投稿ごとに一意の ID を割り当てますが、参照しやすくするために人間が読めるキーを割り当てることもできます。

Liferay DXP 2025.Q3+ からは、 {siteId} を使用するすべての API エンドポイントは、サイトのキーまたは外部参照コードでも機能します。 値が競合する場合は、次の順序で解決されます。

  1. サイトキー
  2. サイトID
  3. サイト外部参照コード

各 ERC は一意である必要があり、同じスコープ内の別のエンティティで同じ ERC を使用することはできません。 たとえば、同じサイト上のブログ投稿とドキュメントに同じ ERC を設定することはできません。 保存時に、 重複エントリ エラーが表示されます。

重要

ERC を URL パラメータとして使用する場合、 予約文字 をエンコードする必要があります。 これには、エンドポイント URL でスラッシュ (/) を含む外部参照コードを使用することも含まれます。

ブログ投稿 ERC の例

ERC を使用してブログ投稿を作成し、アクセスします。

  1. サイトの IDをメモします。

  2. 新しいブログ投稿を作成するには、次の curl コマンドを実行します。 {siteId} をサイトの ID に置き換えます。

    curl \
    	-H "Content-Type: application/json" \
    	-X POST \
    	"http://localhost:8080/o/headless-delivery/v1.0/sites/{siteId}/blog-postings" \
    	-d "{\"articleBody\": \"Foo\", \"externalReferenceCode\": \"blog_post_able\", \"headline\": \"Able\"}" \
    	-u "test@liferay.com:learn"
    

    出力には、新しいブログ投稿が作成されたことが示されています。

    ...
       "alternativeHeadline" : "",
       "articleBody" : "Foo",
       "creator" : {
          "additionalName" : "",
          "contentType" : "UserAccount",
          "familyName" : "Test",
          "givenName" : "Test",
          "id" : 20123,
          "name" : "Test Test"
       },
       "customFields" : [ ],
       "dateCreated" : "2023-09-21T21:21:48Z",
       "dateModified" : "2023-09-21T21:21:48Z",
       "datePublished" : "2023-09-21T21:21:00Z",
       "description" : "Foo",
       "encodingFormat" : "text/html",
       "externalReferenceCode" : "blog_post_able",
       "friendlyUrlPath" : "able",
       "headline" : "Able",
       "id" : 42617,
       "keywords" : [ ],
       "numberOfComments" : 0,
       "relatedContents" : [ ],
       "renderedContents" : [ ],
       "siteId" : 20119,
       "taxonomyCategoryBriefs" : [ ]
    ...
    
  3. このブログ投稿は、ID または ERC で参照できるようになりました。 たとえば、ID でブログ投稿を取得します。

    curl \
    	"http://localhost:8080/o/headless-delivery/v1.0/blog-postings/42617" \
    	-u "test@liferay.com:learn"
    

    または、ERC でブログ投稿を取得します。

    curl \
    	"http://localhost:8080/o/headless-delivery/v1.0/sites/20119/blog-postings/by-external-reference-code/blog_post_able" \
    	-u "test@liferay.com:learn"
    

    注意: ERC によるブログ投稿のこの GET メソッドには、サイト ID (例: 20119) と ERC (例: blog_post_able) が必要です。

外部参照コードをサポートするさまざまな API エンドポイントを確認するには、 API エクスプローラー をご覧ください。