Amazon の Associates Web Service が Product Advertising API に名称変更になったとのこと。
名称変更だけならいいのだけど、今後のリクエストには認証が必要になり、プログラム変更を 8月15日 までに済ませなければ、いけないらしい。
これが、どのようにするのかよく分からない。
Amazon.com のアカウントは持っていたので、とりあえず秘密キーは作成した。
この先は、
を見れば分かるらしいのだが、なんせ英語が分かんない。
今日は、ここまで。
と思ったけど気になったので、ちょっと頑張ってみました。
とりあえず、PHP の hash_hmac() が使える環境 (PHP 5 >= 5.1.2, PECL hash >= 1.1) であれば、動作するようになりました。
肝は base64 でエンコードするところでしょうか。
$hash = base64_encode(hash_hmac('sha256' , $data, $key, TRUE));
あとは、hash_hmac() が使えない環境向けに代用関数を探すだけ。(これが大変かも :thinking: )
誰か知っていたら教えてください。 :shy:
検索で、訪れてくれる人が多いようなので、簡単にまとめておきます。
$params['Timestamp'] = gmdate('Y-m-d\TH:i:s\Z');
ksort($params);
$querys = array();
foreach($params as $key=>$val) {
$querys[] = $key . '=' . rawurlencode($val);
}
$query = join ('&', $querys);
1 2 3 4 5 6 7 8 |
|
if ($signature) $query .= '&' . $signature;
ざっと、こんな感じです。 :ok:
hash_hmac() も mhash() も使えない環境への対応は、代用関数が見つからないので、私の力量では無理です。
Page Info | |
---|---|
Page Name : | nao-pon/blog/2009-05-09 |
Page aliases : | None |
Page owner : | nao-pon |
Can Read | |
Groups : | All visitors |
Users : | All visitors |
Can Edit | |
Groups : | No one |
Users : | ゲスト |