APIのクエリ結果のページ分割を処理する
大量の結果を返す可能性がある多くのAlexa REST APIでは、ページ分割が行われます。これらは、結果のサブセットである「ページ」と、結果の次のページの取得方法に関する情報を持つpaginationContextオブジェクトを返します。以下は、一般的な形式のpaginationContextオブジェクトの例です。
{
"paginationContext": {
"nextToken": "{token}"
},
"results": [
{
...
}
]
}
以下の表に、paginationContextオブジェクトに含まれるフィールドを示します。
| フィールド | 説明 | 型 | 必須 |
|---|---|---|---|
|
|
追加の結果を取得するためのトークン。この値が存在しない場合は、これ以上結果がないことを示します。 |
|
× |
ページサイズを制限する
ページサイズを制限するには、リクエストのmaxResultsを、取得する結果の数に設定します。
GETメソッドの場合は、以下の例に示すように、クエリパラメーターとしてmaxResultsを指定します。
GET /{resources}?maxResults=10
POSTリクエストの場合は、リクエスト本文にmaxResultsプロパティを含むpaginationContextオブジェクトを含めます。
{
...
"paginationContext": {
"maxResults": 2
}
}
結果の次のページをリクエストする
結果のページをリクエストした後、結果の次のページを取得するには、新しいリクエストを送信する必要があります。新しいリクエストは、前回と同じリクエストにnextTokenパラメーターを追加したものでなければなりません。そのパラメーターには、前回のリクエストへの応答で受け取ったnextToken値を設定します。
応答にはこのトークンから始まる結果が返され、さらに続きの結果がある場合にのみnextToken値が含められます。
以下の表に、ページサイズを制限し、結果の次のページをリクエストするためのパラメーターフィールドを示します。元のリクエストがGETリクエストであった場合は、これらの値をクエリパラメーターとして渡します。元のリクエストがPOSTリクエストであった場合は、これらのプロパティを含むpaginationContextオブジェクトをリクエスト本文に含めます。
| フィールド | 説明 | 型 | 必須 |
|---|---|---|---|
|
|
応答本文で返される結果の最大数。10以下の正の値を指定してください。 |
|
◯ |
|
|
ページ分割された結果から特定のページを取得するためのトークン。このトークンがない場合、応答には結果の先頭ページが含められます。 |
|
× |
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
| パラメーター | 説明 | 型 |
|---|---|---|
|
|
リクエストの一意のID。 |
文字列 |
関連トピック
最終更新日: 2026 年 05 月 29 日