亚马逊MWS产品Feed未提交

时间:2013-02-22 15:45:23

标签: php amazon-mws

我正在开发Amazon API。我想在亚马逊帐户上提交产品Feed。

我已经通过Amazon Scratch Pad验证了XML文件(产品Feed),并且我收到了提交Feed的响应,但是当我运行脚本时,要通过脚本提交相同的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;

2 个答案:

答案 0 :(得分:1)

除了可能出错的其他内容之外:您提交$request,而您可能要提交的内容是$req

编辑:既然你纠正了这个错误但仍然没有结果......:

submitFeed()会返回MarketplaceWebService_Model_SubmitFeedResponse个对象。

Echo不能与对象一起使用,除非该对象具有__toString()方法,而该类不具有该方法。请尝试使用print_r($res)var_dump($res)

答案 1 :(得分: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);
相关问题