Amazon MWS/PHP/获取所有订单

Amazon MWS/PHP/获取所有订单,php,amazon-web-services,amazon-mws,Php,Amazon Web Services,Amazon Mws,我正在尝试从amazon mws获取所有订单。我知道我一次只能得到100次,需要使用“nextToken2”对数据进行分页。 但是,我没有得到的是如何在请求之前设置setCreatedAfter和setCreatedBefore。。我发现MWS希望设置这两个值非常令人困惑 我发现了以下代码片段: $t1 = date("c", time()-2*24*60*60); $t2 = date("c", time()-1*24*60*60); $request = new MarketplaceWeb

我正在尝试从amazon mws获取所有订单。我知道我一次只能得到100次,需要使用“nextToken2”对数据进行分页。 但是,我没有得到的是如何在请求之前设置
setCreatedAfter
setCreatedBefore
。。我发现MWS希望设置这两个值非常令人困惑

我发现了以下代码片段:

$t1 = date("c", time()-2*24*60*60);
$t2 = date("c", time()-1*24*60*60);
$request = new MarketplaceWebServiceOrders_Model_ListOrdersRequest();
$request->setSellerId(MERCHANT_ID);
$request->setMarketplaceId(marketplace_id);
$request->setCreatedAfter($t1);
$request->setCreatedBefore($t2);
它将在过去30天内收到所有订单。 但是如何获取所有订单呢?

要通过获取所有订单,请将您的
setCreatedAfter
日期设置为最早接受订单之前的日期。将
setCreatedBefore
日期设置为当前日期/时间。这只是您希望返回订单的日期范围。您需要创建一个足以覆盖所有订单的范围

第一次呼叫后,检查是否有
NextToken
。如果存在,则您有更多订单,因此启动循环,直到
NextToken
为空。一旦它是空的,你就有了所有的订单

注意节流问题。你可能不得不放慢你的行动

另一种方法是使用,它避免了节流问题,但有额外的设置步骤。

要通过获取所有订单,请将您的
setCreatedAfter
日期设置为有史以来最早的订单之前的日期。将
setCreatedBefore
日期设置为当前日期/时间。这只是您希望返回订单的日期范围。您需要创建一个足以覆盖所有订单的范围

第一次呼叫后,检查是否有
NextToken
。如果存在,则您有更多订单,因此启动循环,直到
NextToken
为空。一旦它是空的,你就有了所有的订单

注意节流问题。你可能不得不放慢你的行动

另一种方法是使用,它可以避免节流问题,但需要设置额外的步骤