[AmazonMWS]Required parameter MarketplaceId not found エラー時の対応方法

エラーメッセージ例

Notice: Undefined offset: 1 in src\MarketplaceWebServiceProducts\Client.php on line 710
Caught Exception: Required parameter MarketplaceId not found
Response Status Code: 400
Error Code: MissingParameter
Error Type: Unknown
Request ID: 417e2eee-ce39-44d8-b1b6-b634863ef53e
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 MarketplaceId not found
        </Message>
        <Detail/>
    </Error>
    <RequestID>xxxx</RequestID>
</ErrorResponse>
ResponseHeaderMetadata: RequestId: xxx, ResponseContext: xxx




原因は、リクエストパラメータにMarketplaceIdがセットされていない事です。



MarketplaceIdのセットは、xxxSample.phpの先頭付近にある定義を以下のように変更します。
修正前

 $request = new MarketplaceWebServiceProducts_Model_GetLowestOfferListingsForASINRequest();
 $request->setSellerId(MERCHANT_ID);
 // object or array of parameters
 invokeGetLowestOfferListingsForASIN($service, $request);



修正後

 $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 );
 
 $request->setMarketplaceId( MARKETPLACE_ID );                  //  追加
 
 invokeGetLowestOfferListingsForASIN($service, $request);



パラメータエラーについては、以下の記事も参考にしてください。
「Required parameter ASINList not found」エラーが発生する。

関連記事

コメントを残す

メールアドレスが公開されることはありません。