GetLowestOfferListngsForASINSample.php実行時のエラーメッセージ例
(見やすくするために改行を入れてます)
> php GetLowestOfferListngsForASINSample.php
PHP Notice: Undefined offset: 1 in src\MarketplaceWebServiceProducts\Client.php on line 710
Notice: Undefined offset: 1 in src\MarketplaceWebServiceProducts\Client.php on line 710
Caught Exception: Required parameter ASINList not found
Response Status Code: 400
Error Code: MissingParameter
Error Type: Unknown
Request ID: xxxx
XML: <?xml version="1.0"?>
<ErrorResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01">
<Error>
<Type>Sender</Type>
<Code>MissingParameter</Code>
<Message>
Required parameter ASINList not found
</Message>
<Detail/>
</Error>
<RequestID>xxx</RequestID>
</ErrorResponse>
ResponseHeaderMetadata: xxx |
原因は、パラメータに検索対象となるASINを指定していない為です。
対処法は、GetLowestOfferListngsForASINSample.phpの先頭付近にある以下の記述に…
$request = new MarketplaceWebServiceProducts_Model_GetLowestOfferListingsForASINRequest(); $request->setSellerId(MERCHANT_ID); // object or array of parameters invokeGetLowestOfferListingsForASIN($service, $request); |
setASINList()を追加します。
$request = new MarketplaceWebServiceProducts_Model_GetLowestOfferListingsForASINRequest(); $request->setSellerId(MERCHANT_ID); // object or array of parameters $asinList = new MarketplaceWebServiceProducts_Model_ASINListType(); // <======= 追加 $asinList->setASIN( '43892404' ); // <======= 追加 $request->setASINList( $asinList ); // <======= 追加 invokeGetLowestOfferListingsForASIN($service, $request); |
複数のASINを渡したい場合は以下のようにarrayで指定します。
APIドキュメントを見ると分かりますが、指定できるのは最大20個です。
$asinList->setASIN( array( '43892404', '475981339X' ) ); |
各リクエストに対して何のパラメータが指定できるかは、src\MarketplaceWebServiceProducts\ModelフォルダのxxxRequest.phpを参照すると分かります。
grepをかけると一目瞭然ですね。
src\MarketplaceWebServiceProducts\Model>grep "function.*set" GetLowestOfferListingsForASINRequest.php
public function setSellerId($value)
public function setMarketplaceId($value)
public function setASINList($value)
public function setItemCondition($value)
public function setExcludeMe($value) |
毎回調べるのは面倒なので、全ファイルgrepした結果を置いときます。
src\MarketplaceWebServiceProducts\Model>grep "function.*set" *Request.php GetCompetitivePricingForASINRequest.php: public function setSellerId($value) GetCompetitivePricingForASINRequest.php: public function setMarketplaceId($value) GetCompetitivePricingForASINRequest.php: public function setASINList($value) GetCompetitivePricingForSKURequest.php: public function setSellerId($value) GetCompetitivePricingForSKURequest.php: public function setMarketplaceId($value) GetCompetitivePricingForSKURequest.php: public function setSellerSKUList($value) GetLowestOfferListingsForASINRequest.php: public function setSellerId($value) GetLowestOfferListingsForASINRequest.php: public function setMarketplaceId($value) GetLowestOfferListingsForASINRequest.php: public function setASINList($value) GetLowestOfferListingsForASINRequest.php: public function setItemCondition($value) GetLowestOfferListingsForASINRequest.php: public function setExcludeMe($value) GetLowestOfferListingsForSKURequest.php: public function setSellerId($value) GetLowestOfferListingsForSKURequest.php: public function setMarketplaceId($value) GetLowestOfferListingsForSKURequest.php: public function setSellerSKUList($value) GetLowestOfferListingsForSKURequest.php: public function setItemCondition($value) GetLowestOfferListingsForSKURequest.php: public function setExcludeMe($value) GetMatchingProductForIdRequest.php: public function setSellerId($value) GetMatchingProductForIdRequest.php: public function setMarketplaceId($value) GetMatchingProductForIdRequest.php: public function setIdType($value) GetMatchingProductForIdRequest.php: public function setIdList($value) GetMatchingProductRequest.php: public function setSellerId($value) GetMatchingProductRequest.php: public function setMarketplaceId($value) GetMatchingProductRequest.php: public function setASINList($value) GetMyPriceForASINRequest.php: public function setSellerId($value) GetMyPriceForASINRequest.php: public function setMarketplaceId($value) GetMyPriceForASINRequest.php: public function setASINList($value) GetMyPriceForSKURequest.php: public function setSellerId($value) GetMyPriceForSKURequest.php: public function setMarketplaceId($value) GetMyPriceForSKURequest.php: public function setSellerSKUList($value) GetProductCategoriesForASINRequest.php: public function setSellerId($value) GetProductCategoriesForASINRequest.php: public function setMarketplaceId($value) GetProductCategoriesForASINRequest.php: public function setASIN($value) GetProductCategoriesForSKURequest.php: public function setSellerId($value) GetProductCategoriesForSKURequest.php: public function setMarketplaceId($value) GetProductCategoriesForSKURequest.php: public function setSellerSKU($value) GetServiceStatusRequest.php: public function setSellerId($value) ListMatchingProductsRequest.php: public function setSellerId($value) ListMatchingProductsRequest.php: public function setMarketplaceId($value) ListMatchingProductsRequest.php: public function setQuery($value) ListMatchingProductsRequest.php: public function setQueryContextId($value) |
関連記事
コメントを残す