開発者コンソール

GetNextPageディレクティブ


GetNextPageディレクティブ

ユーザーが検索結果の「次のページ」に移動するよう選択するか、画面の表示可能な領域を越えて検索結果をスクロールすると、次の結果を取得するためのGetNextPageディレクティブがVideoContentProvider APIからLambdaに送信されます。レスポンスでは、次のページに表示する追加のアイテムが提供されます。

下の図は、そのワークフローを示しています。

GetNextPageディレクティブとLambdaのGetNextPageResponse

GetNextPageディレクティブの発話

機能 サンプル発話 想定されるレスポンス
次のページを取得

Get Next page

[translation coming soon]

[translation coming soon]

[translation coming soon]

[translation coming soon]

[translation coming soon]

次のページの結果が画面に表示されます。

GetNextPageディレクティブの処理

Lambdaから(GetDisplayableItemsMetadataResponseを通じて)検索結果を受け取った後、ユーザーがほかの検索結果(つまり検索結果の「次のページ」)を見たいと考える場合もあります。ユーザーは、「次のページを見せて」といった単純なフレーズで検索結果を次のページに進めることができます。

これにより、AlexaからGetNextPageディレクティブが送信されます。このディレクティブに対するLambdaのレスポンスには、検索結果の基本的なメタデータを含める必要があります。このレスポンスは、GetDisplayableItemsResponseに似ています。

Alexaは、GetNextPageResponseを受信すると、さらに情報を取得するために、続けてGetDisplayableItemsMetadataディレクティブを送信します。

GetNextPageの例

GetNextPageディレクティブの例を次に示します。送信が必要なアイテムのminResultLimitmaxResultLimitに注目してください。

{
    "directive": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "9f4803ec-4c94-4fdf-89c2-d502d5e52bb4",
            "name": "GetNextPage",
            "namespace": "Alexa.VideoContentProvider",
            "payloadVersion": "3"
        },
        "endpoint": {
            "cookie": {

            },
            "endpointId": "<ターゲットエンドポイントの識別子>",
            "scope": {
                "token": "<OAuth2ベアラートークン>",
                "type": "BearerToken"
            }
        },
        "payload": {
            "nextToken": "fvkjbr20dvjbkwOpqStr",
            "minResultLimit": 8,
            "maxResultLimit": 25
        }
    }
}

ペイロードの説明

次の表は、GetNextPageディレクティブのpayloadについて説明しています。

ペイロードの説明
フィールド 説明 データ型
nextToken

次の結果セットを取得するためのトークン。プロバイダーから送信される不透明型の文字列で、後続の検索リクエストで返されます。

文字列
minResultLimit
(必須)

この呼び出しで返される結果でpageTokenが必要となる最小件数。pageTokenと共に返されたアイテムの件数がminResultLimitフィールドよりも少ない場合、Alexaは新しいアイテムを取得せずに、受信したアイテムをそのまま表示します。pageTokenは次の結果を取得する際に必要となるため、この場合は使用されません。

pageTokenを使用して次の結果を取得するのは、アイテムの件数がminResultLimitの値以上である場合のみです。ただし、アイテムの件数がminResultLimitを超える場合は、maxResultLimitが上限となります。アイテムの件数がmaxResultLimitを超えると、maxResultLimitを超えたアイテムはAlexaによって破棄されます。

例: 8

整数
maxResultLimit
(必須)

返される結果の最大件数(上限)。詳細については、minResultLimitフィールドの説明を参照してください。

例: 25

整数

Lambdaのレスポンス

Lambdaのレスポンスとして、デバイスに表示するアイテムのリストを返す必要があります。

レスポンスの例

Lambdaから送信されるGetNextPageResponseの例を次に示します。このペイロードの形式はGetDisplayableItemsMetadataと同じです。

{
    "event": {
        "header": {
            "correlationToken": "dFMb0z+PgpgdDmluhJ1LddFvSqZ/jCc8ptlAKulUj90jSqg==",
            "messageId": "9f4803ec-4c94-4fdf-89c2-d502d5e52bb4",
            "name": "GetNextPageResponse",
            "namespace": "Alexa.VideoContentProvider",
            "payloadVersion": "3"
        },
        "endpoint": {
            "scope": {
                "type": "BearerToken",
                "token": "Alexa-access-token"
            },
            "endpointId": "appliance-001"
        },
        "payload": {
            "nextToken": "qefjrfiugef74",
            "mediaItems": [
                {
                    "mediaIdentifier": {
                        "id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
                    }
                },
                {
                    "mediaIdentifier": {
                        "id": "recordingId://provider1.dvr.rp.1234-2345-63434-asdf"
                    }
                }
            ]
        }
    }
}

ペイロードの説明

ペイロードの説明
フィールド 説明 データ型
nextToken

次の結果セットを取得するためのトークン。プロバイダーから送信される不透明型の文字列で、後続の検索リクエストで返されます。

文字列
mediaItems
(必須)

検索結果として画面に表示されるビデオのmediaIdentifiersのリスト。

リスト
mediaIdentifier
(必須)

mediaItemの識別子。mediaIdentifierオブジェクトからの画像サイズデータの取得を参照してください。

オブジェクト
id
(必須)

ビデオアイテムの識別子。後続のGetDisplayableItemsMetadataまたはGetPlayableItemsMetadataの呼び出しで、表示または再生に関連したメタデータ情報を取得する目的で使用されます。この識別子は、Alexaからは認識できず、メタデータ情報を照会する際にそのまま使用されます。

文字列