【超簡単】Amazon Product Advertising APIを使って商品検索するPHPのコード

Amazonの商品検索APIを使ってみようと思ったら、Amazonアソシエイトのサイトにリンクされてるドキュメントが古くて混乱しました。

最新のドキュメント参照しつつ、Amazonの商品検索APIをたたくPHPのコードを書いてみます。

結論としては、他の人が公開しているライブラリを使ってしまうのが楽でした。

 

Amazon Product Advertising API最新ドキュメントの場所

2010年頃のドキュメントによれば、APIのGETパラメタを手で書き換えるだけで使えていたようですが、最近は署名を動的に計算してパラメタに付与する形になっています。

2018年時点の最新ドキュメントは以下にあります。
https://docs.aws.amazon.com/ja_jp/AWSECommerceService/latest/DG/AnatomyOfaRESTRequest.html

リクエストURIから署名を生成してクエリに付与するくだりがメンドクサそう。

誰かライブラリ作ってるんじゃね?と思ったらカッコいいライブラリが公開されてました。感謝。

apai-ioをインストール

apai-ioを使わせてもらいます。
https://github.com/Exeu/apai-io

AmazonのAPIを呼び出すときのメンドクサイ部分が実装されてるので、少しのコードで簡単にAPIをたたく事ができます。

apai-ioインストールのためcomposer.jsonを作ります。

composer update でインストール完了。

apai-ioの使用例サンプルコード

GitHubに書いてあるサンプルコードを参考に、自分の手元で動くコードを書きます。

これだけです。

setCountry() には自分の国のドメインを指定します。日本のアソシエイトIDを取得している場合は「co.jp」になります。

setAccessKey() 、 setSecretKey() 、 setAssociateTag() にはそれぞれ自分のアカウントで取得したAmazon Product Advertising APIのアクセスキー、シークレットキー、アソシエイトタグを指定します。

実行してみます。

 

いい感じに検索結果が取れました。
(DVDを検索したつもりでしたが、何故かウィスキーが見つかってしまっているのは気にしない事にします。)

これでAmazonの商品情報や画像を取得し、自分のアプリケーションに利用できるようになりましたね。

今回は以上ですん。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*