Amazon は商品情報を取得するための API, Amazon Product Advertising API を提供している. その PHP 向けのライブラリ ApaiIO を使って, 商品情報を取得してみた.
リンク
- GitHub のレポジトリ Exeu/apai-io,
- 公式のドキュメント.
インストール
以下の composer.json
を用意して composer install
を実行.
{
"require": {
"exeu/apai-io": "~2.0"
}
}
できること
ApaiIO が標準でサポートするのは,
- ItemSearch
- ItemLookup
- SimilarityLookup
- BrowseNodeLookup
の4つ (ref: Built in operations).
例: ASIN から商品情報を得る
ASIN B001TP8L3S
の商品の情報を ItemLookup
を使って得る例.
<?php
require_once "vendor/autoload.php";
use ApaiIO\Configuration\GenericConfiguration;
use ApaiIO\ApaiIO;
use ApaiIO\Operations\Lookup;
$client = new \GuzzleHttp\Client();
$request = new \ApaiIO\Request\GuzzleRequest($client);
$conf = new GenericConfiguration();
$conf
->setCountry('co.jp')
->setAccessKey('XXXXXXXXXXXXXXXXXXXX')
->setSecretKey('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
->setAssociateTag('XXXX-22')
->setRequest($request)
->setResponseTransformer(new \ApaiIO\ResponseTransformer\XmlToArray());
$apaiIo = new ApaiIO($conf);
$lookup = new Lookup();
$lookup->setItemId('B001TP8L3S'); // ASIN
$lookup->setResponseGroup(array('Large'));
$response = $apaiIo->runOperation($lookup);
echo "<pre>";
var_dump($response);
echo "</pre>";
広告タグジェネレータ
追記2: 下記では, 執筆当時の当サイトの CMS であった Pico の広告表示プラグインを ApaiIO を用いて作り, 広告を表示させていましたが, 現在は CMS を自前のものに変えたため, 動作しません.
追記1: 下記プラグインの公開を止めました.
(執筆現在,) 当サイトの記事は Markdown によって記述される (CMS は Pico). 記事の途中で例えば
[@ASIN 'B072HYSQTG']
と記述することで ASIN B072HYSQTG
の商品の広告を表示するような拡張を行ってみた.
次のように表示される.
[@ASIN 'B072HYSQTG']