APIのクエリ結果のページ分割を処理する

APIのクエリ結果のページ分割を処理する

大量の結果を返す可能性がある多くのAlexa REST APIでは、ページ分割が行われます。これらは、結果のサブセットである「ページ」と、結果の次のページの取得方法に関する情報を持つpaginationContextオブジェクトを返します。以下は、一般的な形式のpaginationContextオブジェクトの例です。

{
   "paginationContext": {
      "nextToken": "{token}"
   },
   "results": [
      {
      ...
      }
   ]
}

以下の表に、paginationContextオブジェクトに含まれるフィールドを示します。

フィールド 説明 必須

nextToken

追加の結果を取得するためのトークン。この値が存在しない場合は、これ以上結果がないことを示します。

string

×

ページサイズを制限する

ページサイズを制限するには、リクエストのmaxResultsを、取得する結果の数に設定します。

GETメソッドの場合は、以下の例に示すように、クエリパラメーターとしてmaxResultsを指定します。

   GET /{resources}?maxResults=10

POSTリクエストの場合は、リクエスト本文にmaxResultsプロパティを含むpaginationContextオブジェクトを含めます。

{
    ...
    "paginationContext": {
        "maxResults": 2
    }
}

結果の次のページをリクエストする

結果のページをリクエストした後、結果の次のページを取得するには、新しいリクエストを送信する必要があります。新しいリクエストは、前回と同じリクエストにnextTokenパラメーターを追加したものでなければなりません。そのパラメーターには、前回のリクエストへの応答で受け取ったnextToken値を設定します。

応答にはこのトークンから始まる結果が返され、さらに続きの結果がある場合にのみnextToken値が含められます。

以下の表に、ページサイズを制限し、結果の次のページをリクエストするためのパラメーターフィールドを示します。元のリクエストがGETリクエストであった場合は、これらの値をクエリパラメーターとして渡します。元のリクエストがPOSTリクエストであった場合は、これらのプロパティを含むpaginationContextオブジェクトをリクエスト本文に含めます。

フィールド 説明 必須

maxResults

応答本文で返される結果の最大数。10以下の正の値を指定してください。

number(整数)

nextToken

ページ分割された結果から特定のページを取得するためのトークン。このトークンがない場合、応答には結果の先頭ページが含められます。

string

×

GETメソッドのページ分割の例

次の例は、施設階層管理REST APIのユニットのリストを取得する操作のGETリクエストを示しています。この例では、この操作を以前に呼び出したときの応答に、paginationContext.nextTokenプロパティの値が含まれており、さらに多くの結果があったことを示しています。GETメソッドの場合は、リクエストのクエリパラメーターにnextTokenを指定します。

クリップボードにコピーされました。

GET /v2/units?parentId={unitId}&expand=all&nextToken={nextTokenValue} HTTP/1.1
Host: api.amazonalexa.com
Authorization: Bearer {access token}.

POSTメソッドのページ分割の例

次の例は、スキル管理APIで複数のユニットのスキル有効化を取得する操作のPOSTリクエストを示しています。この例では、この操作を以前に呼び出したときの応答に、paginationContext.nextTokenプロパティの値が含まれており、さらに多くの結果があったことを示しています。POSTメソッドの場合は、リクエスト本文にnextTokenを含めます。

リクエスト:

クリップボードにコピーされました。

POST /v1/skills/enablements/batchGet HTTP/1.1
Host: api.amazonalexa.com
Accept: application/json
Authorization: Bearer {access token}

リクエスト本文:

クリップボードにコピーされました。

{
  "items": [
    {
      "itemId": 0,
      "unitId": "amzn1.alexa.unit.did.AAA"
    },
    {
      "itemId": 1,
      "unitId": "amzn1.alexa.unit.did.BBB"
    }
  ],
  "paginationContext": {
      "nextToken": "eJy..."
  }
}

AmazonリクエストID

一部のREST APIでは、Alexaからの応答ヘッダーにX-Amzn-RequestIdパラメーターが含まれます。問題が発生した場合、AmazonはこのリクエストIDをトラブルシューティングに使用します。たとえば、応答に次のようなヘッダーが含まれる場合があります。

Host: api.amazonalexa.com
X-Amzn-RequestId: {request-id}
Content-Type: application/json
パラメーター 説明

request-id

リクエストの一意のID。

文字列


このページは役に立ちましたか?

最終更新日: 2026 年 05 月 29 日