Delivery APIのクエリ例
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このトピックでは、一般的なクエリニーズを満たすためにExperience Edge GraphQLスキーマをクエリする方法の例を説明します。以下のサンプルのアイテムIDやパスは、必ずしもあなたの解と一致するわけではありません。クエリを作成する際は、検索可能なフィールドを確認しましょう。クエリで言語値を指定すると、結果にはその言語の項目のみが含まれます。
もしサイトがフォールバック言語をサポートしている場合は、開始前にExperience Edgeコネクターで パブリッシング言語のフォールバックを有効にし てください。
IDやパスでアイテムを取得する
パスやIDでコンテンツツリー内のどこからでもアイテムをクエリし、そのフィールドやその他のプロパティを読むことができます。インラインフラグメントを使って、アイテムを投影されたデータテンプレートタイプに、フィールドをフィールドタイプにキャストできます。
クエリ
結果
複数のパスでアイテムを絞り込みましょう
複数の経路でアイテムを絞り込むことができます。このクエリの例は、以下のサイト構造を前提としています:

/home/graphqlとhome/styleguide/Page Componentsの項目のUUIDがそれぞれ0C6F4AAF-DD7E-5FAF-B9B0-61070D496055とAB99BA2B-B606-51E3-BAD9-FD8358DE1333を持っていると仮定します。/homeのアイテムや子孫を手に入れたいのですが、/home/graphqlやhome/styleguide/Page Components、またはその子供たちを手に入れたいのです。以下のクエリはNCONTAINS演算子を用いて、これらの項目とその子の経路を結果から除外します。
クエリ
結果
検索クエリの結果には、/home/graphqlやhome/styleguide/Page Componentsのパスやその子孫を含む項目は含まれず、/home項目と残りの子項目が返されます。
URLのアイテムレイアウトを取得する
Headless SDKで最もよく使われるものは、サイト名とHTTP URLでアイテムを見つけ、フレームワーク固有のSitecoreプレースホルダー実装でレンダリングするためのレイアウトサービスの出力を取得することができます。
クエリ
結果
アイテムバケット内のアイテムをページ化
Sitecoreのアイテムバケットを使う際、一般的な要件として、特定のテンプレートから派生するすべてのアイテムをそのバケット内にページ付けする必要があります。以下の検索クエリはこれらのユースケースに役立ちます。
クエリ
結果
サイトのルート項目を取得します
Experience Edgeスキーマは現在、サイトとそのルートアイテムのクエリを許可していませんが、layoutクエリを使ってサイトのルートアイテムを見つけることは可能です。
クエリ
結果
すべてのサイトパス/ページを取得してください
siteクエリを使って、特定の言語でレイアウトデータやプレゼンテーションの詳細を含むすべてのアイテムをそのサイトで見つけることができます。これは例えば静的サイトジェネレーターの経路取得に役立ちます。ルート結果はページ分けされており、デフォルトでは10件の結果のみが返されます。結果をページ付けするには、firstとクエリの引数をafter QueryのendCursorプロパティを使わなければなりません。
クエリ
結果
商品を日付と数字で範囲内で絞り込みましょう
例えば、数字や日付をクエリするために演算子を使うことができます。
-
等しい(EQ)
-
不等分(NEQ)
-
包含(含む)
-
(NCONTAINS)を含まない
さらに、以下の演算子を使って、数値や日付の範囲を照会することもできます:
-
より小さい(LT)
-
以下または等価(LTE)
-
大(GT)
-
大または等分(GTE)
これらの演算子を使う際は、valueを引用符で囲む必要があります。日付比較はすべての標準的な日付/時刻フォーマットおよびyyyyMMddTHHmmssZをサポートします。日付はUTC形式で保存されます。しかし、クエリに入力される値は局所的なものと仮定されます。
この機能を初めて使う前に、クエリしたいコンテンツを再公開して内部データ構造を再構築してください。そうでなければ、データは文字列として辞書順で比較されます。例えば、データが再構築されない場合、3の値は123より大きいとみなされます。
クエリ - 日付範囲
結果 - 日付範囲
クエリ - 番号範囲
結果 - 番号範囲
建設現場ナビゲーション
このサンプルクエリは 、サイトのルートを見つける こととアイテムの子をトラバースする能力を組み合わせています。 hasLayout引数はレイアウト(ナビゲート可能なページ)を持つアイテムのみを見つけ、includeTemplateIds引数は(ベースの)データテンプレートでフィルタリングできます。
クエリ
結果
ページを作ってみる
アイテムグラフタイプのancestorsフィールドを使ってパンくずナビゲーションを作成できます。 hasLayoutの引数を使ってレイアウトのあるアイテム(ナビゲート可能なページ)だけを見つけ、includeTemplateIdsは(ベースの)データテンプレートでフィルタリングします。
クエリ
結果
Sitecore Headless SDKでアイテムフィールドを使いましょう
さまざまなSitecoreヘッドレスSDKには、フィールド値のレンダリング用のヘルパーが含まれています。これらのヘルパーは、インライン編集の文脈で複雑なフィールド(画像やリンクなど)や編集可能な値のレンダリングを支援します。Experience Edgeスキーマのアイテムフィールドには、これらのフィールドヘルパーと互換性のある形式でフィールドを出力するjsonValueが含まれます。
例えば、以下のリンクフィールドはLinkフィールドヘルパーを使ってReactまたはNext.jsでレンダリングできます。
クエリ
結果
すべてのコンテンツサイトに関する情報を得ることができます
siteクエリ内のすべてのコンテンツサイトに関する情報は、allSiteInfoフィールドを使って取得できます。例えば、最初の100サイトの名前とルートパスを取得するには、以下のクエリを使用します。
クエリ
結果
特定のコンテンツサイトに関する情報を得る
siteクエリのsiteInfoフィールドを使って、特定のコンテンツサイトに関する情報を得ることができます。例えば、次のクエリはサイト名とルートパスを返します。
クエリ
結果
リストリダイレクトルール
特定のサイトに関する情報を問い合わせる際には、リダイレクトルールのリストを要求できます。以下の例クエリでは、応答にリダイレクトの種類、ターゲット、パターン、そしてリダイレクトがクエリ串のパラメータを保持しているかどうかが含まれます。
クエリ
結果
エラー処理ページを入手してください
特定のサイトに関する情報を問い合わせる際は、エラー処理プロセスに関わるすべてのページの情報を請求できます。その結果、必要なエラーコードがすべて処理されているか、どのページで処理されているかを判断するのに役立ちます。
クエリ
結果
ロボット情報を取得する
siteクエリを使って、どの検索エンジンクローラーがサイトにアクセスできるかの情報を請求できます。
クエリ
結果
SXAサイトのサイトマップを入手してください
SXAのサイトマップで生成されたメディアアイテムへのパスをクエリできます。
クエリ
結果
辞書の項目を取得
siteクエリを使うことで、サイトの個別辞書エントリーを取得することができます。カーソルの引数を組み合わせて結果にページングを適用できます。それらが提供されていない場合、デフォルトはfirstページサイズが500です。