/** * 抓取订单产品详细 * @param number $OrderId * @return array * @author czq */ public function getOrderDetailLists($OrderId) { $service = new MarketplaceWebServiceOrders_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, APPLICATION_NAME, APPLICATION_VERSION, $this->config); $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsRequest(); $request->setSellerId(MERCHANT_ID); $request->setAmazonOrderId($OrderId); $response = $service->listOrderItems($request); $listOrderItemsResult = $response->getListOrderItemsResult(); $all_response = array(); $all_response[] = $listOrderItemsResult; while ($listOrderItemsResult->isSetNextToken()) { $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest(); $request->setSellerId(MERCHANT_ID); $request->setNextToken($listOrderItemsResult->getNextToken()); $response = $service->ListOrdersByNextToken($request); $listOrderItemsResult = $response->getListOrderItemsByNextTokenResult(); $all_response[] = $listOrderItemsResult; //最大的请求权限为30个,每30个就sleep 60秒恢复 if ($this->_requestTimes % 30 == 0) { sleep(60); $this->_requestTimes = 0; } $this->_requestTimes++; } return $all_response; }
* responses without calling MarketplaceWebServiceOrders service. * * Responses are loaded from local XML files. You can tweak XML files to * experiment with various outputs during development * * XML files available under MarketplaceWebServiceOrders/Mock tree * ***********************************************************************/ // $service = new MarketplaceWebServiceOrders_Mock(); /************************************************************************ * Setup request parameters and uncomment invoke to try out * sample for List Order Items By Next Token Action ***********************************************************************/ $request = new MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest(); $request->setSellerId(MERCHANT_ID); $request->setNextToken('<NEXT TOKEN>'); // @TODO: set request. Action can be passed as MarketplaceWebServiceOrders_Model_ListOrderItemsByNextTokenRequest // object or array of parameters invokeListOrderItemsByNextToken($service, $request); /** * List Order Items By Next Token Action Sample * If ListOrderItems cannot return all the order items in one go, it will * provide a nextToken. That nextToken can be used with this operation to * retrive the next batch of items for that order. * * @param MarketplaceWebServiceOrders_Interface $service instance of MarketplaceWebServiceOrders_Interface * @param mixed $request MarketplaceWebServiceOrders_Model_ListOrderItemsByNextToken or array of parameters */ function invokeListOrderItemsByNextToken(MarketplaceWebServiceOrders_Interface $service, $request) { try {