※弊社記事はたぶんにPRが含まれますので
話半分で受け取ってください。

WordPressプラグイン – Simple Amazon Ver. 3.2

 「Simple Amazon」はWordPressでAmazonの商品を表示する事が出来るプラグインです。
 Ver. 3.2ではProduct Advertising API(PAAPI)の「1秒間に1回まで」ルールにちゃんと対応してみました。

 Ver. 3.1からVer.3.2への主な変更点は以下の通りです。

  1. Product Advertising APIの毎秒1コールのルールに対応した。

 インストール方法はreadme.txtを参照してください。
 旧バージョンからのバージョンアップの場合は、Simple Amazonのディレクトリごと置き換えてください(旧バージョンとディレクトリの構造が若干変わっているので)。また、flock関数を利用しているので、NFSなどのネットワークファイルシステムでは上手く動作しないかもしれません(未検証)。

ダウンロード

アクセスの直列化

 PAAPIにはアクセスは1秒間に1回までというルールがあります。

(p) お客様自身も、また、お客様が Product Advertising API にリクエスト送信を行うアプリケーションを作成し公表した場合は、エンドユーザーによりインストールされたかかるアプリケーションの各コピーは、毎秒1 コールを超えないものとし、また、当方の事前の書面による同意なしに、Product Advertising API 宛にまたはこれより、サイズが40Kを超えるファイルを送信しないものとします。
Product Advertising API

 まあ、キャッシュするようにすれば、アクセス回数はだいたい1秒1回以下になるだろう、ということに(勝手に)していたのですが、たまたま「アクセス直列化」のライブラリを見つけたので導入してみました。てか、複数のアクセスを順番に並べることを「アクセス直列化」っていうんですね。なるほど。

実装方法を細かく説明すると長くなりそうですので、API アクセスを直列化するための簡単なライブラリを用意しています。前述のとおり flock が使えない環境だとちゃんと動きませんのでご注意ください。それと PHP5 以上が必要です。PHP4 で動かす場合は、microtime の呼び出し方を変えてもらえば動くと思います。
PHP による Amazon PAAPI の毎秒ルール制限の実装とキャッシュの構築例 « ややゆっくりしていってネ!!!

 と言うわけで、ありがたく使わせて頂きました。ありがとうございます。
 このライブラリの導入により、毎秒1コールがきっちりまもられるようになったと思われます。

 別の何かを探していて、たまたまこれに出会ったのですが、ところで、もともと自分は一体何を探していたんだったか忘れました…
 まあいいか…

参考

追記

2010/5/15

 不具合を修正したSimple Amazon Ver. 3.2.1を作成しました。

関連する記事