2013-02-22 51 views
-1

我正在使用亞馬遜API。我想通過亞馬遜賬戶提交產品信息。亞馬遜MWS產品供稿不提交

我已經通過Amazon Scratch Pad驗證了XML文件(產品訂閱源),並且我得到了提交Feed的響應,但是當我運行腳本時,通過腳本提交相同的訂閱源時,我沒有得到任何響應。

這裏是我的代碼:

$req = new MarketplaceWebService_Model_SubmitFeedRequest(); 
$req->setMerchant(MERCHANTID); 
$req->setMarketplaceIdList(MARKETPLACEID); 
$req->setFeedType('_POST_PRODUCT_DATA_'); 
$req->setContentMd5(base64_encode(md5(stream_get_contents($fh), true))); 
rewind($fh); 
$req->setPurgeAndReplace(true); 
$req->setFeedContent($fh); 
$res = $mws->submitFeed($request); 
echo $res; 

我無法獲得響應,當我呼應$res


我已經改變了$res = $mws->submitFeed($request);$res = $mws->submitFeed($req);。提交Feed仍然沒有成功。我沒有收到Amazon在提交Feed時返回的任何響應標題。

的代碼是這樣的:

$req = new MarketplaceWebService_Model_SubmitFeedRequest(); 
$fh = fopen('feed.xml', 'r'); 
$req->setMerchant(MERCHANTID); 
$req->setMarketplaceIdList(MARKETPLACEID); 
$req->setFeedType('_POST_PRODUCT_DATA_'); 
$req->setContentMd5(base64_encode(md5(stream_get_contents($fh), true))); 
rewind($fh); 
$req->setPurgeAndReplace(true); 
$req->setFeedContent($fh); 
$res = $mws->submitFeed($req); 
echo $res; 

回答

1

除了其他的東西,可能會出問題:您在提交$request,而你可能要提交的東西是$req

編輯:既然你糾正這個錯誤,但仍然沒有結果...:

submitFeed()返回MarketplaceWebService_Model_SubmitFeedResponse對象。

回聲不適用於對象,除非對象具有__toString()方法,而該類不包含該方法。改爲使用print_r($res)var_dump($res)

0

試試這個

$marketplaceIdArray = array("Id" => array($MARKETPLACE_ID)); 
    $feedHandle = @fopen('php://temp', 'rw+'); 
    fwrite($feedHandle, $feed); 
    rewind($feedHandle); 

    $parameters = array(
     'Merchant' => $MERCHANT_ID, 
     'MarketplaceIdList' => $marketplaceIdArray, 
     'FeedType' => '_POST_PRODUCT_DATA_', 
     'FeedContent' => $feedHandle, 
     'PurgeAndReplace' => false, 
     'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)) 
    ); 

    rewind($feedHandle); 
    $request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters); 

    $return_feed = invokeSubmitFeed($service, $request); 

    fclose($feedHandle);