- blogs:
- cles::blog
2009/06/03
[ by hsur at 21:32]
Amazon Product Advertising APIの署名認証ルーチンを書いてみた
Amazon APIの認証方法が変更になって、8月からはリクエストへの署名認証が必須になるらしいので、NP_Amazonが使えなくならないようにphp用の認証ルーチンを書いてみました。まぁ、同じものを開発しているひとはたくさんいるのでしょうけど。
function addAuthSig($url, $secret){
$urlArr = parse_url($url);
parse_str($urlArr["query"], $paramArr);
$paramArr['Timestamp'] = gmdate("Y-m-d\TH:i:s\Z");
ksort($paramArr);
$paramStr = "";
foreach( $paramArr as $key => $value ){
$paramStr .= $key ."=" . rawurlencode($value) . "&";
}
$strToSign = "GET\n${urlArr['host']}\n${urlArr['path']}\n" . rtrim($paramStr, '&');
$sig = rawurlencode( base64_encode( hash_hmac("sha256", $strToSign, $secret, true) ) );
return $urlArr['scheme'] . "://" . $urlArr['host'] . $urlArr['path'] . '?' . $paramStr
. "Signature=" . $sig;
}
$urlArr = parse_url($url);
parse_str($urlArr["query"], $paramArr);
$paramArr['Timestamp'] = gmdate("Y-m-d\TH:i:s\Z");
ksort($paramArr);
$paramStr = "";
foreach( $paramArr as $key => $value ){
$paramStr .= $key ."=" . rawurlencode($value) . "&";
}
$strToSign = "GET\n${urlArr['host']}\n${urlArr['path']}\n" . rtrim($paramStr, '&');
$sig = rawurlencode( base64_encode( hash_hmac("sha256", $strToSign, $secret, true) ) );
return $urlArr['scheme'] . "://" . $urlArr['host'] . $urlArr['path'] . '?' . $paramStr
. "Signature=" . $sig;
}
書いてみると、思っていたよりもシンプルですね。
このエントリは役に立ちましたか?
トラックバックについて
Trackback URL:
お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
このエントリへのTrackbackにはこのURLが必要です→http://blog.cles.jp/item/3067
Trackbacks
このエントリにトラックバックはありません
Comments
愛のあるツッコミをお気軽にどうぞ。[policy]
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
通りすがり
(2009/06/17 15:32)
NP_Amazonなら、5月に対応版が出てますよ。
http://nekhet.ddo.jp/item/1...
Comments Form
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。
OpenID を使ってログインすることができます。
Copyright © 2004-2010 by CLES All Rights Reserved.
sp-20100906123534644595539@cles.net
sp-20100906123534644595539@cles.net
サイト内検索
- やっぱりあった!パクれる読... (9)
- 忘れることができなかったら... (5)
- 「近いうちに食事」は社交辞令 (5)
- 年賀状を作っていません (4)
- 新年度のはずなのに (4)
1 . やっぱりあった!パクれる読書感想文! (93307)
2 . お盆休み (39725)
3 . Echofon for Firefox (13894)
4 . ドラゴンクエストVIの影響力 (13775)
5 . 半熟味付け卵 (13446)
2 . お盆休み (39725)
3 . Echofon for Firefox (13894)
4 . ドラゴンクエストVIの影響力 (13775)
5 . 半熟味付け卵 (13446)
cles::blogについて
Syndicate
Referrers