2016-05-24 174 views
0

我已经使用亚马逊MWS Feeds API成功在亚马逊上发布产品。现在我想使用产品API列出这些产品,但即时通讯面临一些错误。 我运行GetMatchingProductSample.php使用产品api从亚马逊mws获取产品

捕获的异常:所需的参数ASINList没有发现响应状态代码:400错误代码:MissingParameter错误类型:发件人请求ID:8bb9c8d1-f48c-495℃,be86-89492976b4a9 XML:SenderMissingParameterRequired参数ASINList不found8bb9c8d1-f48c-495℃ -be86-89492976b4a9 ResponseHeaderMetadata:请求ID:8bb9c8d1-f48c-495℃,be86-89492976b4a9

代码:

<?php 
require_once('.config.inc.php'); 

$serviceUrl = "https://mws-eu.amazonservices.com/Products/2011-10-01"; 


$config = array (
    'ServiceURL' => $serviceUrl, 
    'ProxyHost' => null, 
    'ProxyPort' => -1, 
    'ProxyUsername' => null, 
    'ProxyPassword' => null, 
    'MaxErrorRetry' => 3, 
); 

$service = new MarketplaceWebServiceProducts_Client(
     AWS_ACCESS_KEY_ID, 
     AWS_SECRET_ACCESS_KEY, 
     APPLICATION_NAME, 
     APPLICATION_VERSION, 
     $config); 
$request = new MarketplaceWebServiceProducts_Model_GetMatchingProductRequest(); 
$request->setSellerId(MERCHANT_ID); 
// object or array of parameters 
invokeGetMatchingProduct($service, $request); 

function invokeGetMatchingProduct(MarketplaceWebServiceProducts_Interface $service, $request) 
{ 
    try { 
     $response = $service->GetMatchingProduct($request); 

     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 (MarketplaceWebServiceProducts_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

能否请您提供的代码示例,你是如何尝试检索产品? – dubes

+0

@dubes。我编辑并添加了代码.. –

回答

1

,因为它说一个SINList没有找到

您需要添加下面一行

$request->setSellerId(MERCHANT_ID); 

代码需要添加后,这些行代码:

$request->setMarketplaceId($marketplace_id); 
$asin_list = new MarketplaceWebServiceProducts_Model_ASINListType(); 
$asins = array("ASIN1","ASIN2","ASIN3"); 
$asin_list->setASIN($asins); 
$request->setASINList($asin_list); 
+0

非常感谢你的工作,现在所有的产品都显示出来了。你知道哪些API用于编辑这些值并将其存储回亚马逊吗? –

+0

如果我的回答对你有帮助,那么请批准我的回答,并点击向上箭头评定答案。谢谢 –

+0

您可以使用Amazon Feeds API创建新产品,产品价格更改和数量更新。 –