オーサリング操作のクエリ例
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
以下のGraphQLタイプに対してクエリやミューテーションを用いてオーサリング操作を行うことができます:
-
アイテム
-
メディア
-
Search
-
遺跡
-
テンプレート
利用可能な種類や操作の完全なリストについては、GraphQL IDEの組み込みドキュメントを参照してください。
Search criteria
以下のセクションでは、クエリに適用できる検索条件について説明します。
正確
検索基準はクエリ語と完全に一致するものです。例えば、「apple」と検索すると、正確な値が「apple」である結果しか返ってきません。
StartsWith
指定された検索基準で始まるフィールド値を返します。例えば、「app」と検索すると「apple」と「application」の両方が表示されます。
包含
指定された検索基準を含むフィールド値を返します。例えば、「app」と検索すると「apple」「application」「happen」が返ってきます。
終わり
指定された検索基準で終わるフィールド値を返します。例えば、「ple」で検索すると「apple」と「maple」の両方が表示されます。
ワイルドカード
検索基準にワイルドカードが含まれています。例えば、「a*e」で検索すると「apple」と「angle」の両方が表示されます。
Search
値の中の全文フレーズを検索します。例えば、「apple pie」と検索すると「We made apple pie」という値の項目が返ってきます。
分布域
数値および日付フィールド内の範囲の値を検索します。例えば、1から5の間の任意の値を検索できます。この基準を適用する際には、カッコ内にクエリ範囲を定義する文字列valueも入力します。 valueに入る際、以下の点に注意してください:
-
括弧の種類によって、範囲が包括的か排他的かが決まります。四角括弧は包括的な範囲を示し、丸括弧は排他的範囲を示します。例えば、1つのクエリで括弧タイプを混ぜることができます。例えば、値が10 TO 20)なら10は含め、20は除外します。
-
文字列TOで最小値と最も高い値を分けます(大文字を区別)。
-
アスタリスク*は制限のない値(上限も制限もない)を示します。例えば、値が (10 TO *)の場合、10は除外され、上限はありません。
ファジー
検索語に似たマッチを見つけるために使われ、誤字や綴りの違いなどの細かな違いを許容します。類似度parameters (0と1の間の値)を用いて、検索語にどれだけ近いかを判断します。値が高いほど、より厳密なマッチングを意味します。例えば、「example」を類似パラメータ0.8で検索すると、「exampel」や「exmple」と一致することがあります。
近接性
検索語が他の単語で区切られている可能性のある文書を見つけるために使われました。分離する単語の数はparametersで表されます。例えば、「apple pie」を近接パラメータ5で検索すると「apple is not a pie」が返ってきます。
正則表現
正則表現(RegEx)を適用する検索語。例えば、「a.*e$」で検索すると「apple」と「angle」が返ってきます。
クエリの例
以下のセクションでは、オーサリング操作の例となるクエリを紹介します。
アイテム
アイテムを作成する
createItem変異を持つアイテムを作成できます。
クエリ
結果
アイテムを削除する
deleteItem突然変異を使ってアイテムを削除できます。アイテムIDやパスを指定することができます。両方を指定すると、パスパラメータは無視されます。リクエスト入力でpermanentlyパラメータ値をtrueに設定することで、恒久的な削除を要求できます。
クエリ
結果
アイテムを入手しましょう
getItem変異を使ってアイテムを取り戻すことができます。
クエリ
結果
アイテムの更新
updateItemミューテーションを使ってアイテムフィールドを更新できます。
クエリ
結果
テンプレート
テンプレートアイテムを作成する
createItemTemplateミューテーションを使ってアイテムテンプレートを作成できます。
クエリ
結果
テンプレート項目とそのフィールドを更新する
updateItemTemplateミューテーションを使ってアイテムテンプレートを更新できます。
クエリ
結果
メディア
メディアのアップロード
uploadMedia変異を使って事前署名されたアップロードURLを得ることができます。事前に署名されたアップロードURLを使ってメディアファイルをSitecoreにアップロードします。
クエリ
結果
一部のコード例、画像、UIラベルは、エンジニアリング資産の更新中もXM Cloudを使用している場合があります。
事前署名されたアップロードURLのクエリでメッセージThe specified key is not a valid size for this algorithmのエラーが返された場合、GraphQL.UploadMediaOptions.EncryptionKey設定に値があるか確認してください。例えば:
もし合わなければ、設定しなければなりません。
レスポンスから事前署名済みのアップロードURLを取得したら、メディアファイルをSitecoreにアップロードするためのPOSTリクエストを送ることができます。
例えば、curlクライアントを使うと:
リクエストへの応答は、メディアアイテムのID、名前、そして成功したメディアアップロード時のフルパスを含むJSON形式の応答です。
遺跡
設定されたサイトを入手してください
特定のサイトについて、そのサイトの名前で情報を検索することができます。
クエリ
結果
Search
特定の経路でアイテムをSearch
searchクエリを使ってすべてのアイテムを検索できます。示した例に加えて、クエリには_name、_template、_templatenameなどのシステムフィールドを利用できます。
クエリ
結果
検索結果を作成日順に並べ替え
検索結果はフィールド値でソートできます。
クエリ
結果
ページングを使って検索結果を設定する
デフォルトでは、クエリは最初の10個の検索結果を返します。クエリにページングパラメータを追加することでこれを変えることができます。
そのためには、以下のパラメータを使用します。
-
pageSize - ページあたりの結果数。
-
skip - スキップすべき結果の数。
-
pageIndex - 検索結果ページのインデックス名を返す。
クエリ
結果
検証
アイテムテンプレートの検証結果を取得する
フィールドテンプレート内のフィールドの検証エラーの可能性については、validation項目をクエリすることで詳細を得られます。
クエリ
結果
複数クエリの例
このセクションでは、コンテンツ管理のための一連のオーサリング操作について説明します。
すべてのページのコンテンツを入手できます
ページの全内容を取得するには、以下の3つのクエリを行えます。これは、ページからテキスト内容や最後に編集した日付、最後に編集したユーザーなどの詳細を取得するカスタムソリューション、例えばSitecore Marketplaceアプリのようなカスタムソリューションを構築する場合に役立ちます。