BLOGTIMES
::
Home > Amazon Product Advertising APIの署名認証ルーチンを書いてみた
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;
}

書いてみると、思っていたよりもシンプルですね。

このエントリは役に立ちましたか?
トラックバックについて
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 を使ってログインすることができます。

Identity URL: Yahoo! JAPAN IDでログイン

★下記に2つの英単語をスペースで区切って入力してください
::
Home > Amazon Product Advertising APIの署名認証ルーチンを書いてみた