Home » PHP, Programing » Zend_Service_AmazonのAmazon新API対応について

Check     このエントリーをはてなブックマークに追加

Amazon APIを利用している方、新しい認証方法に対応してますか~?

2009年8月16日からAmazon APIの認証方法が変更されるにあたって、利用している方は対応が必要です。

かなりざっくり説明すると、

  • URLにtimestampを付与
  • URLパラメータをアルファベット順にソート
  • パラメータにAmazonから新しく付与されているキーを元にハッシュ化しURLエンコード
  • ハッシュ化されたキーをURLにくっつけて、APIにアクセス!

と言った具合。詳しくは

[を] アマゾンAPIを使うのに2009年8月15日から認証が必要になるらしい

こちらを参照。

さて本題、Zend_Service_Amazonを利用している場合はどうすればよいか。

実はとても簡単。Zend_Service_APIオブジェクトをnewするときの第3引数にAmazonから付与される、Secret Access Keyを指定するだけ!

まずは、Amazon Web Servicesでログインしてから、上部メニューの「Your Account」⇒「Access Identifiers」へ行き、Your Secret Access Key:と書かれている部分をコピーしておく。

このSecret Access Keyをnew Zend_Service_APIしているソースの第3引数に指定しよう。
[php]
$amazon = new Zend_Service_Amazon(‘Access Key’, ‘JP’, ‘Secret Access Key’);
$result = $amazon->ItemLookup($item_code, array(
‘AssociateTag’ => ‘associate_tag’,
‘ResponseGroup’ => ‘Large’
));
[/php]
以上終了!Zend使っててよかった~

ちなみに2009年7月26日に更新されたようなので、zendのアップグレードをしていない方は、ソースを落とすなり、「pear upgrade zend/zend」しておきましょう。

ちなみにZend_Service_Amazonコンストラクターのphpdocはこんな感じ。
[php]
/**
* Constructs a new Amazon Web Services Client
*
* @param string $appId Developer’s Amazon appid
* @param string $countryCode Country code for Amazon service; may be US, UK, DE, JP, FR, CA
* @throws Zend_Service_Exception
* @return Zend_Service_Amazon
*/
public function __construct($appId, $countryCode = ‘US’, $secretKey = null){
}
[/php]
あれ第3引数のdocumentが書かれてない。。でもちゃんと実装はされていて動作もしたので念のため。

Check     このエントリーをはてなブックマークに追加
タグ: , ,
  • http://www.jogosdegracaparacelular.org Jogos Para Celular

    thanks for this stuff thanks for sharing