use*_*109 3 php api amazon-web-services e-commerce
我有以下代码输出亚马逊的项目列表,但我不知道如何访问特定的产品(与Summery,评论等).任何帮助,将不胜感激.
<?php
function makeAWSUrl($parameters, $associate_tag, $access_key, $secret_key, $aws_version = '2009-06-01') {
$host = 'ecs.amazonaws.com';
$path = '/onca/xml';
$query = array(
'Service' => 'AWSECommerceService',
'AWSAccessKeyId' => $access_key,
'AssociateTag' => $associate_tag,
'Timestamp' => gmdate('Y-m-d\TH:i:s\Z'),
'Version' => $aws_version,
);
// Merge in any options that were passed in
if (is_array($parameters)) {
$query = array_merge($query, $parameters);
}
// Do a case-insensitive, natural order sort on the array keys.
ksort($query);
// create the signable string
$temp = array();
foreach ($query as $k => $v) {
$temp[] = str_replace('%7E', '~', rawurlencode($k)) . '=' . str_replace('%7E', '~', rawurlencode($v));
}
$signable = implode('&', $temp);
$stringToSign = "GET\n$host\n$path\n$signable";
// Hash the AWS secret key and generate a signature for the request.
$hex_str = hash_hmac('sha256', $stringToSign, $secret_key);
$raw = '';
for ($i = 0; $i < strlen($hex_str); $i += 2) {
$raw .= chr(hexdec(substr($hex_str, $i, 2)));
}
$query['Signature'] = base64_encode($raw);
ksort($query);
$temp = array();
foreach ($query as $k => $v) {
$temp[] = rawurlencode($k) . '=' . rawurlencode($v);
}
$final = implode('&', $temp);
return 'http://' . $host . $path . '?' . $final;
}
$url = makeAWSUrl(array('Keywords' => 'ipod',
'Operation' => 'ItemSearch',
'SearchIndex' => 'Electronics'),
'ResponseGroup' => 'Medium',
'someid', 'aaaaaaaaaaaaa', 'aaaaaaaaaaaaaaaaaaaaaaaaaaa');
$response = simplexml_load_file($url);
foreach ($response->Items->Item as $item)
{
$Title [] = $item->ItemAttributes->Title;
}
foreach($Title as $CurrentTitle)
{
echo "<h2>".$CurrentTitle."</h2>";
}
?>
Run Code Online (Sandbox Code Playgroud)
该$response->Items->Item列表包含与您的查询匹配的所有项目/文章.这是一个对象列表.这些对象中的每一个都获得了属性,这些属性ItemAtributes也可以具有属性.
查看文档以查看哪些属性可用.例如,ItemAttributes->ListPrice->Amount包含项目的价格.
因此,例如,为每个结果输出价格和标题将代码更改为
$response = simplexml_load_file($url);
foreach ($response->Items->Item as $item) {
echo "<h2>".$item->ItemAttributes->Title."</h2>";
echo "Price: ".$item->ItemAttributes->ListPrice->Amount;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8616 次 |
| 最近记录: |