Amazon.com MWS集成

dda*_*ty3 9 php amazon-mws

我目前正在开发一个非常基本的网站,此时只会显示来自亚马逊市场的订单信息.

  • 我拥有所有MWS安全证书.
  • 我已经下载并审查了很多混乱的PHP客户端库.
  • 我是PHP的新手,但我觉得我可以处理这个项目.

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

是否有关于MWS的详细教程?我需要尽可能多的信息.如果你可以帮助我,可能会概述实现这一目标所需的步骤,非常感谢!!!! 我把头发拉过来.再次感谢

Jos*_*iah 11

一个粗略的文件,可以帮助您入门.这取自几页,包括来自@Vaidas的这一页.我还没有链接,抱歉.我唯一的贡献是把它放在一个地方.

亚马逊提供的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>');
?>
Run Code Online (Sandbox Code Playgroud)

请注意,curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 至少在我的情况下,有线是VITAL .除了MWS页面之外,CURL在任何页面都运行良好(它只是给了我一个空白页面,信息中包含-1s,我花了大半天时间才弄清楚我需要那条线.它在MWS论坛的某个地方.

为了更好地衡量,这里是MWS ScratchPad链接.

一旦我更好地处理MWS,我可能会做一个教程.或者那些更擅长HTML并且需要更多功能的人可以做到这一点.


Ste*_*fan 10

如果您仍然没有弄清楚如何执行此操作,请按照下列步骤操作

希望这可以帮助您和其他用户.


Ada*_*ram 5

亚马逊在https://developer.amazonservices.com/上提供了一些很棒的示例代码.我已经成功地将他们的代码用于我的PHP应用程序.

我同意.弄清楚MWS API是一场噩梦.