クエリの作成
クエリの作成
メタデータクエリとは、/metadata_queries/execute_read
エンドポイントに対するPOST
リクエストで、その本文にはメタデータクエリのすべてのパーツが含まれています。ここで最も重要なのは、検索対象のテンプレートを指定するfrom
属性 、検索するフォルダを指定するancestor_folder_id
、検索に使用するすべてのテンプレートフィールドを決定するquery
です。
curl -X POST https://api.box.com/2.0/metadata_queries/execute_read \
-H 'Authorization: Bearer <ACCESS_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"from": "enterprise_123456.contractTemplate",
"query": "amount >= :value",
"query_params": {
"value": 100
},
"fields": [
"name",
"metadata.enterprise_123456.contractTemplate.customerName",
"metadata.enterprise_123456.contractTemplate.amount"
],
"ancestor_folder_id": "5555",
"order_by": [
{
"field_key": "amount",
"direction": "asc"
}
],
"limit": 100
}'
使用可能なすべてのパラメータの詳細については、Boxの他のメタデータクエリガイドまたは関連するエンドポイントリファレンスを参照してください。
クエリ構文の詳細を確認する
レスポンス
クエリに一致するファイルまたはフォルダがあれば、APIレスポンスで返されます。レスポンスの本文はJSONオブジェクトで、各ファイルまたはフォルダのentries
のリストと、次の検索結果ページを見つけるためのnext_marker
値が含まれています。各エントリは、クエリに一致したファイルまたはフォルダを表し、field
パラメータで明示的にリクエストされたフィールドのみが返されます。
{
"entries": [
{
"type": "file",
"id": "1617554169109",
"name": "My Contract.docx",
"metadata": {
"enterprise_123456": {
"contractTemplate": {
"$parent": "file_161753469109",
"$scope": "enterprise_123456",
"$template": "contractTemplate",
"$version": 0,
"customerName": "Phoenix Corp",
"amount": 100
}
}
}
}
],
"limit": 20,
"next_marker": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
}
このAPIはデフォルトで、ページあたり20
個の項目を返しますが、マーカーベースのページ割りを使用すると、さらに多くの項目をリクエストできます。
ページ割りクエリの結果の詳細を確認する