ページ割りと並べ替え

ページ割りと並べ替え

デフォルトでは、1ページあたり返されるクエリ結果は20件のみで、この結果の順序は保証されておらず変更される可能性があります。ページ割りと並べ替えにより、さらに多くの結果を取得し、結果の順序を定義することが可能になります。

ページ割り

APIはデフォルトで、20件の結果を含む最初のページのみを返します。ページあたりの結果の数を増やすようリクエストするには、リクエストにlimitクエリパラメータを指定して送信します。

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",
       "fields": ["name"],
       "ancestor_folder_id": "5555",
       "limit": 100
     }'

limitの最大値は100です。返される結果ページ数を増やすには、各ページでnext_marker値を返します。

{
  "entries":[...],
  "next_marker":"AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
}

このnext_markerを使用すると、結果の次のページについて新しいリクエストを作成できます。

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",
       "fields": ["name"], 
       "ancestor_folder_id": "5555",
       "limit": 100,
       "marker": "AAAAAmVYB1FWec8GH6yWu2nwmanfMh07IyYInaa7DZDYjgO1H4KoLW29vPlLY173OKsci6h6xGh61gG73gnaxoS+o0BbI1/h6le6cikjlupVhASwJ2Cj0tOD9wlnrUMHHw3/ISf+uuACzrOMhN6d5fYrbidPzS6MdhJOejuYlvsg4tcBYzjauP3+VU51p77HFAIuObnJT0ff"
     }'

レスポンスに次のマーカーが含まれていない場合は、これ以上一致する結果がないことを意味します。

next_markerを使用するには、結果の次のページにまったく同じクエリを使用することが重要です。queryquery_paramsなどのパラメーターが変更されると、APIはエラーを返します。

並べ替え

結果は、サポートされているどのメタデータフィールドタイプを使用しても並べ替えることができます。現在サポートされているタイプは、floatdateおよびstringフィールドのみです。enumまたはmultiSelect値による並べ替えは現在サポートされていません。

結果を並べ替えるには、並べ替えの基準として使用する1つ以上のフィールドキーに加えて、方向を指定します。

"order_by": [
  {
    "field_key": "amount”,
    "direction": "desc"
  },
  {
    "field_key": "created_at"
    "direction": "desc"
  }
]

並べ替えの方向は、指定したすべてのキーで同じにする必要があります。つまり、各field_keydirectionは同じにする必要があります。