Amazon Services Japan
Amazonマーケットプレイス Web サービス (Amazon MWS) ドキュメント
Amazon MWS ドキュメント

NextTokenを使用して追加ページをリクエストする

AmazonマーケットプレイスWebサービス(Amazon MWS)は、ページごとに返されるレスポンスの最 大数より多くのレスポンス要素を生成した場合、リクエストを送信する際、「ByNextToken」オペレーションでNextToken を送信し、追加ページをリクエストします。 NextTokenは、各Amazon MWSAPIセクションにあるNextTokenの内容と異なる部分があります。

NextTokenの使い方

HasNextを返すオペレーションのNextTokenの使い方

  1. オペレーションを呼び出します。

    HasNext レスポンス要素が false を返した場合、他に返されるレスポンス要素はありません。タスクは完了しています。

    または、

    HasNextレスポンス要素がtrueを返した場合、他に返されるレスポンス要素があることを示します。操作2に進みます。

  2. 操作1で呼び出したオペレーションと一致する「ByNextToken」オペレーションを呼び出します(例え ば、GetReportList を呼び出した場合は GetReportListByNextToken を呼び出します)。呼び出す際に、操作1で返された NextToken 値を指定します。

    HasNext レスポンス要素が false を返した場合、他に返されるレスポンス要素はありません。タスクは完了しています。

    または、

    HasNextレスポンス要素がtrueを返した場合、他に返されるレスポンス要素があることを示します。操作3に進みます。

  3. HasNext レスポンス要素が false を返すまで、「ByNextToken」オペレーションを呼び出し続けます。

MoreResultsAvailableを返すオペレーションのNextTokenの使い方

  1. オペレーションを呼び出します。

    MoreResultsAvailable レスポンス要素が false を返した場合、他に返されるレスポンス要素はありませんが、今後、返される結果が追加される予定です。それまでは操作2へ進みます。待ち時間はビジネスのプロセスや、オペレーションが新しい結果を返す頻度により異なります。

    または、

    MoreResultsAvailableレスポンス要素がtrueを返した場合、他に返されるレスポンス要素があることを示します。操作2に進みます。

  2. 操作1で呼び出したオペレーションと一致する「ByNextToken」オペレーションを呼び出します(例えば、ListCustomersを呼び出した場合はListCustomersByNextTokenを呼び出します)。 呼び出す際に、操作1で返されたNextToken値を 指定します。

    MoreResultsAvailable レスポンス要素が false を返した場合、他に返されるレスポンス要素はありませんが、今後、返される結果が追加される予定です。それまでは操作3へ進みます。待ち時間はビジネスのプロセスや、オペレーションが新しい結果を返す頻度により異なります。

    または、

    MoreResultsAvailableレスポンス要素がtrueを返した場合、他に返されるレスポンス要素があることを示します。操作3に進みます。

  3. HasNext レスポンス要素が false を返すまで、「ByNextToken」オペレーションを呼び出し続けます。そして、ByNextTokenオペレーションを再度呼び出す前にしばらく待ちます。待ち時間はビジネスのプロセスや、オペレーションが新しい結果を返す頻度により異なります。

HasNext、またはMoreResultsAvailableを返さないオペレーションのNextTokenの使い方

  1. オペレーションを呼び出します。

    NextTokenレスポンス要素が返されなかった場合、他に返されるレスポンス要素がないことを示しています。タスクは完了しています。

    または、

    NextTokenレスポンス要素が返された場合、 他に返されるレスポンス要素があることを示しています。操作2に進みます。

  2. 操作1で呼び出したオペレーションと一致する「ByNextToken」オペレーションを呼び出します(例えば、ListOrdersを呼び出した場合はListOrdersByNextTokenを呼び出します)。 呼び出す際に、操作1で返されたNextToken値を指定します。

    NextTokenレスポンス要素が返されなかった場合、他に返されるレスポンス要素がないことを示しています。タスクは完了しています。

    または、

    NextTokenレスポンス要素が返された場合、 他に返されるレスポンス要素があることを示しています。操作3に進みます。

  3. NextTokenレスポンス要素が返されなくなるまで「ByNextToken」オペレーションを呼び出し続けます。

NextTokensのエラー処理について

ByNextTokenオペレーションにNextTokenを送信し、サービスがNextTokenCorruptedエラーを返したことがある場合は、同じNextTokenで呼び出しを繰り返さないでください。代わりに、NextTokenを最初に作成したオペレーションを呼び出し、新しいNextTokenを取得してください。

例えば、ListOrdersByNextTokenオペレーションを呼び出してNextTokenCorruptedエラーを受信した場合は、ListOrdersオペレーションを呼び出して新しいNextTokenを生成してください。新しいNextTokenListOrdersByNextTokenへ渡します。