Show Menu
トピック×

API を使用した Web ページ上のフォームの一覧表示

AEM Forms では REST ベースの検索 API を備えており、これにより Web 開発者はクエリーを実行し、検索条件に合う一連のフォームを取得できます。API を使用することで、様々なフィルターに基づいてフォームを検索できます。応答オブジェクトには、フォームの属性、プロパティ、フォームのレンダリングエンドポイントなどがあります。
To search forms using the REST API, send a GET request to the server at https://'[server]:[port]'/libs/fd/fm/content/manage.json with query parameters described below.

クエリーパラメーター

属性名 説明
func
呼び出す関数を指定します。フォームを検索するには、 func 属性の値を searchForms に設定します。
例えば、次のように入力します。 URLParameterBuilder entityBuilder=new URLParameterBuilder (); entityBuilder.add("func", "searchForms");
注意: このパラメーターは必須です。
appPath
フォームを検索するアプリケーションパスを指定します。デフォルトでは、appPath 属性はルートノードレベルで使用可能なすべてのアプリケーションを検索します。
1 つの検索クエリーで複数のアプリケーションパスを指定できます。複数のパスを区切る場合はパイプ(|)文字を使用します。
cutPoints
アセットと一緒に取得するプロパティを指定します。アスタリスク(*)を使用するとすべてのプロパティを一度に取得できます。複数のプロパティを指定する場合はパイプ(|)演算子を使用します。
例えば、次のように入力します。 cutPoints=propertyName1|propertyName2|propertyName3
注意
  • ID、パス、名前などのプロパティは、常に取得されます。
  • アセットごとにプロパティのセットが異なります。formUrl、pdfUrl、guideUrl などのプロパティは cutPoints 属性に依存しません。これらのプロパティは、アセットのタイプに応じて取得されます。
relation 検索結果とともに取得する関連アセットを指定します。以下のオプションからいずれか 1 つを選択して、関連アセットを取得できます。
  • NO_RELATION :関連アセットを取得しません。
  • IMMEDIATE :検索結果に直接関連するアセットを取得します。
  • ALL :直接関連するアセットと間接的に関連するアセットを取得します。
maxSize 取得するフォームの最大数を指定します。
offset 開始からスキップするフォームの数を指定します。
returnCount 指定した条件に一致する検索結果を返すかどうかを指定します。
statements
文のリストを指定します。クエリーは、JSON 形式で指定した文のリストに対して実行されます。
例えば、次のように入力します。
JSONArray statementArray=new JSONArray(); JSONObject statement=new JSONObject(); statement.put("name", "title"); statement.put("value", "SimpleSurveyAF"); statement.put("operator", "EQ"); statementArray.put(statement);
上記の例では、
  • name :検索するプロパティの名前を指定します。
  • value :検索するプロパティの値を指定します。
  • operator :検索時に適用する演算子を指定します。次の演算子がサポートされています。
    • EQ — 次と等しい
    • NEQ - 次と等しくない
    • GT - 次の値より大きい
    • LT - 次の値より小さい
    • GTEQ - 次の値よりも大きいか等しい
    • LTEQ - 次の値よりも小さいか等しい
    • CONTAINS - B が A の一部である場合、A に B が含まれる
    • FULLTEXT - フルテキスト検索
    • STARTSWITH - B が A の最初の部分である場合、A は B で始まる
    • ENDSWITH - B が A の最後の部分である場合、A は B で終わる
    • LIKE - LIKE 演算子を実装する
    • AND - 複数の文を組み合わせる
    注意: GT、LT、GTEQ、LTEQ 演算子は、LONG、DOUBLE、DATE などの線形型のプロパティに適用されます。
orderings
検索結果の順序条件を指定します。条件は JSON 形式で定義されます。複数のフィールドの検索結果を並べ替えることができます。検索結果は、フィールドがクエリー内で表示されている順番のとおりに並べ替えられています。
例えば、次のように入力します。
タイトルプロパティで昇順に並べられたクエリの結果を取得するには、次のパラメーターを追加します。
JSONArray orderingsArray=new JSONArray(); JSONObject orderings=new JSONObject(); orderings.put("name", "title"); orderings.put("criteria", "ASC"); orderingsArray.put(orderings); entityBuilder.add("orderings", orderingsArray.toString());
  • name :検索結果の並べ替えに使用するプロパティの名前を指定します。
  • criteria :結果の順序を指定します。order属性は次の値を受け取ります。
    • ASC - ASC を使用すると、結果を昇順に並べ替えます。
    • DES - DESを使用して、結果を降順に並べ替えます。
includeXdp バイナリコンテンツを取得するかどうかを指定します。The includeXdp attribute is applicable for assets of type FORM , PDFFORM , and PRINTFORM .
assetType 発行されたすべてのアセットから取得するアセットのタイプを指定します。複数のアセットタイプを指定するには、パイプ(|)演算子を使用します。有効なアセットタイプは FORM、PDFFORM、PRINTFORM、RESOURCE、GUIDE です。

サンプルリクエスト

func : searchForms
appPath : /content/dam/formsanddocuments/MyApplication23
cutPoints : title|description|author|status|creationDate|lastModifiedDate|activationDate|expiryDate|tags|allowedRenderFormat|formmodel
relation : NO_RELATION
includeXdp : false
maxSize : 10
offset : 0
returnCount : true
statements: [{"name":"name","value":"*Claim.xdp","operator":"CONTAINS"},
                {"name":"","value":"Expense","operator":"FULLTEXT"},
                {"name":"description","value":"ABCD*","operator":"CONTAINS"},
                {"name":"status","value":"false","operator":"EQ"},
                {"name":"lastModifiedDate","value":"01/09/2013","operator":"GTEQ"},
                {"name":"lastModifiedDate","value":"01/18/2013","operator":"LTEQ"}]
orderings:[{"name" :“lastModifiedDate“:”order”:”ASC”}]

サンプル応答

[
{"resultCount":2},
    {"assetType":"FORM","name":"ExpenseClaim.xdp","id":"509fa2d5-e3c9-407b-b8dc-fa0ba08eb0ce",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDEFGIJK","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/1.0/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"5477a127-8bbf-4cec-8f81-2689e5cb4a15",
       "path":"/content/dam/formsanddocuments/MyApplication23/1.0/Image.gif","resourceSize":0}],
       "status":false,"creationDate":1358429845623,"lastModifiedDate":1358429846771},
{"assetType":"FORM","name":"ExpenseClaim.xdp","id":"4312239b-b666-4d36-95bc-641b3a39ddd4",
       "path":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp",
       "title":"Expense Report","description":"ABCDefghijklm","author":"Frank Bowman",
       "tags":[],"formUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content",
       "pdfUrl":"/content/dam/formsanddocuments/MyApplication23/ExpenseClaim.xdp/jcr:content?type=pdf",
       "references":[],"images":[{"assetType":"resource","name":"Image.gif","id":"118a2e3f-7097-4d8c-85d1-651306de284a",
       "path":"/content/dam/formsanddocuments/MyApplication23/Image.gif","resourceSize":0}],"status":false,
       "creationDate":1358429856690,"lastModifiedDate":1358430109023}
]