2016-04-30 44 views
1

我已经使用AMAZON MWS Marketplace网络服务订单获取订单API .. 我已正确配置。但遇到如下错误:“Caught Exception:拒绝访问响应状态代码:401错误代码:AccessDenied错误类型:发件人请求ID:9bc2e235-218c-4245-b63e-7d93bc6f1da0 XML:发件人AccessDenied访问被拒绝9bc2e235-218c-4245-b63e -7d93bc6f1da0 ResponseHeaderMetadata:的requestId:9bc2e235-218c-4245-b63e-7d93bc6f1da0,ResponseContext:98sqo3AP9MOvPqqfRnPTHw15yXGOIPaK8j3OBLilY + Fp的// ta5MYQwxJaYrV7AZLBcei5I2EWYJoq 53tbCvpcJQ ==,时间戳:2016-04-30T11:20:03.130Z,配额最大:,配额剩余:,配额复位在:亚马逊市场PHP获取订单API

我的代码如下

public function list_of_order_items() 
{ 

    include_once (DOCROOT."application/vendor/amazon-mws-sdk-master/lib/MarketplaceWebServiceOrders/Samples/config.inc.php");  

    $config = array (
     'ServiceURL' => "https://mws.amazonservices.com/Orders/2013-09-01", 
     'ProxyHost' => null, 
     'ProxyPort' => -1, 
     'ProxyUsername' => null, 
     'ProxyPassword' => null, 
     'MaxErrorRetry' => 3, 
     ); 

    $service = new MarketplaceWebServiceOrders_Client(
      AWS_ACCESS_KEY_ID, 
      AWS_SECRET_ACCESS_KEY, 
      APPLICATION_NAME, 
      APPLICATION_VERSION, 
      $config); 

     $request = new MarketplaceWebServiceOrders_Model_GetOrderRequest(); 
     $request->setSellerId(MERCHANT_ID); 
     // object or array of parameters 

     $response = $this->invokeGetOrder($service, $request); 

} 

public function invokeGetOrder(MarketplaceWebServiceOrders_Interface $service, $request) 

{

try { 
    $response = $service->GetOrder($request); 

回声”

"; print_r($response); exit;
echo ("Service Response\n"); echo ("=============================================================================\n");

$dom = new DOMDocument(); $dom->loadXML($response->toXML()); $dom->preserveWhiteSpace = false; $dom->formatOutput = true; echo $dom->saveXML(); echo("ResponseHeaderMetadata: " . $response->getResponseHeaderMetadata() . "\n"); } catch (MarketplaceWebServiceOrders_Exception $ex) { echo("Caught Exception: " . $ex->getMessage() . "\n"); echo("Response Status Code: " . $ex->getStatusCode() . "\n"); echo("Error Code: " . $ex->getErrorCode() . "\n"); echo("Error Type: " . $ex->getErrorType() . "\n"); echo("Request ID: " . $ex->getRequestId() . "\n"); echo("XML: " . $ex->getXML() . "\n"); echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n"); }

}

+0

这可以帮助你,但你必须阅读的问题和拉请求,因为它有一个小bug(它的速度非常快修复)https://github.com/CPIGroup/phpAmazonMWS/tree/master – cartalot

回答

0

我觉得你是错过了配置为$ request对象的订单ID参数。

$request->setAmazonOrderId($orderId); 
+0

我需要获取订单列表。所以不需要指定Orderid –