php amazon api,Amazon通过使用API PHP/jQuery搜索ASIN来获取项目详细信息

下面是一个简单的例子。你必须替换

$public_key

,

$private_key

$associate_tag

你自己的价值观。我没有测试过这个,但通过这个,让我们知道它是否有用。

include('aws_signed_request.php');

$public_key = '********';

$private_key = '********';

$associate_tag = '********';

// generate signed URL

$request = aws_signed_request('com', array(

'Operation' => 'ItemLookup',

'ItemId' => 'B008GG93YE',

'ResponseGroup' => 'Small'), $public_key, $private_key, $associate_tag);

// do request (you could also use curl etc.)

$response = @file_get_contents($request);

if ($response === FALSE) {

echo "Request failed.\n";

} else {

// parse XML

$pxml = simplexml_load_string($response);

if ($pxml === FALSE) {

echo "Response could not be parsed.\n";

} else {

if (isset($pxml->Items->Item->ItemAttributes->Title)) {

echo $pxml->Items->Item->ItemAttributes->Title, "\n";

}

}

}

?>

aws\U签名_请求.php代码

function aws_signed_request($region, $params, $public_key, $private_key, $associate_tag=NULL, $version='2011-08-01')

{

// some paramters

$method = 'GET';

$host = 'webservices.amazon.'.$region;

$uri = '/onca/xml';

// additional parameters

$params['Service'] = 'AWSECommerceService';

$params['AWSAccessKeyId'] = $public_key;

// GMT timestamp

$params['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');

// API version

$params['Version'] = $version;

if ($associate_tag !== NULL) {

$params['AssociateTag'] = $associate_tag;

}

// sort the parameters

ksort($params);

// create the canonicalized query

$canonicalized_query = array();

foreach ($params as $param=>$value)

{

$param = str_replace('%7E', '~', rawurlencode($param));

$value = str_replace('%7E', '~', rawurlencode($value));

$canonicalized_query[] = $param.'='.$value;

}

$canonicalized_query = implode('&', $canonicalized_query);

// create the string to sign

$string_to_sign = $method."\n".$host."\n".$uri."\n".$canonicalized_query;

// calculate HMAC with SHA256 and base64-encoding

$signature = base64_encode(hash_hmac('sha256', $string_to_sign, $private_key, TRUE));

// encode the signature for the request

$signature = str_replace('%7E', '~', rawurlencode($signature));

// create request

$request = 'http://'.$host.$uri.'?'.$canonicalized_query.'&Signature='.$signature;

return $request;

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值