我目前正在开发一个非常基本的站点,该站点此时将仅显示来自亚马逊市场的订单信息。

  • 我拥有所有的MWS安全凭据。
  • 我非常困惑地下载并查看了PHP客户端库。
  • 我是PHP的新手,但我觉得我可以处理这个项目。

  • 我需要知道如何从该API安装和访问信息。我觉得我已经尝试了一切。亚马逊没有提供足够的信息来实现这一目标。它们听起来像需要5到6个简单的步骤,您可以访问自己的信息;这不是真的。

    有关于MWS的详细教程吗?我需要尽可能多的信息。如果您能帮助我,也许概述一下实现该目标所需的步骤,将不胜感激!!!我正在为此扯头发。再次感谢

    最佳答案

    一个粗略的文件,可以帮助您入门。这摘自几页,包括@Vaidas的this one。我还没有链接,对不起。我唯一的贡献就是将它们放在一个地方。

    亚马逊提供的任何PHP代码都对我无用。我假设您具有带有cURL或等效环境的XAMPP。该代码应开箱即用,以使您开始需要进行的工作。只需插入您的凭据即可。

    <?php
    $param = array();
    $param['AWSAccessKeyId']   = 'YourAccessKeyID';
    $param['Action']           = 'GetLowestOfferListingsForASIN';
    $param['SellerId']         = 'YourSellerID';
    $param['SignatureMethod']  = 'HmacSHA256';
    $param['SignatureVersion'] = '2';
    $param['Timestamp']        = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time());
    $param['Version']          = '2011-10-01';
    $param['MarketplaceId']    = 'YourMarketplaceID';
    $param['ItemCondition']    = 'new';
    $param['ASINList.ASIN.1']  = 'B00C5XBAOA';
    $secret = 'YourSecretKey';
    
    $url = array();
    foreach ($param as $key => $val) {
    
        $key = str_replace("%7E", "~", rawurlencode($key));
        $val = str_replace("%7E", "~", rawurlencode($val));
        $url[] = "{$key}={$val}";
    }
    
    sort($url);
    
    $arr   = implode('&', $url);
    
    $sign  = 'GET' . "\n";
    $sign .= 'mws.amazonservices.com' . "\n";
    $sign .= '/Products/2011-10-01' . "\n";
    $sign .= $arr;
    
    $signature = hash_hmac("sha256", $sign, $secret, true);
    $signature = urlencode(base64_encode($signature));
    
    $link  = "https://mws.amazonservices.com/Products/2011-10-01?";
    $link .= $arr . "&Signature=" . $signature;
    echo($link); //for debugging - you can paste this into a browser and see if it loads.
    
    $ch = curl_init($link);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/xml'));
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    $response = curl_exec($ch);
    $info = curl_getinfo($ch);
    curl_close($ch);
    
    echo('<p>' . $response . '</p>');
    print_r('<p>' . $info . '</p>');
    ?>
    

    请注意,拥有
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);线,至少就我而言。 CURL对于除MWS页面以外的任何页面都工作正常(它只是给我一个空白页面,信息中带有-1s,这使我花了整整一天的时间来弄清楚我需要该行。它在MWS论坛中的某个地方。

    出于良好的考虑,这是一个link to MWS ScratchPad

    一旦我对使用MWS有了更好的了解,也许我会做一个教程。或者是一个更擅长HTML并且需要更多功能的人可以做到这一点。

    10-07 21:22